JS Built-in Objects and Methods Flashcards

1
Q

Метод JSON.stringify()

A

Метод JSON.stringify() перетворює значення JavaScript в рядок JSON, з заміною значень, якщо вказана функція заміни, або з включенням тільки певних властивостей, якщо зазначений масив заміни.

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Метод Array.from()

A

Array.from () дозволяє створювати масиви з:

  • массивоподобних об’єктів (об’єктів з властивістю length і індексованими елементами)
  • ітеруємих об’єктів (об’єктів, з яких можна дістати їх елементи, наприклад Map або Set).
function f() {
  return Array.from(arguments);
}
f(1, 2, 3); // [ 1, 2, 3 ]

Другим параметром методу є map функція, яка буде викликана для кожного елементу масиву.

Array.from([1, 2, 3], x => x + x); // [2, 4, 6]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Метод Array.indexOf()

A

Метод indexOf() повертає перший індекс, за яким даний елемент може бути знайдений в масиві або -1, якщо такого індексу немає.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Function.bind()

A
function foo(something) {
	console.log( this.a, something );
	return this.a + something;
}
var obj = {
	a: 2
};

var bar = foo.bind( obj );

var b = bar( 3 ); // 2 3
console.log( b ); // 5

bind(..) возвращает новую функцию, в которой жестко задан вызов оригинальной функции с именно тем контекстом this, который вы указываете.

Неважно как вы потом вызовете функцию bar, она всегда будет вручную вызывать foo с obj.

function foo(something) {
	console.log( this.a, something );
	return this.a + something;
}
// простая вспомогательная функция `bind`
function bind(fn, obj) {
	return function() {
		return fn.apply( obj, arguments );
	};
}
var obj = {
	a: 2
};

var bar = bind( foo, obj );

var b = bar( 3 ); // 2 3
console.log( b ); // 5
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Определяем this

A

Вызвана с new? Используем только что созданный объект.

Вызвана с помощью call или apply (или bind)? Используем указанный объект.

Вызвана с объектом контекста, владеющего вызовом функции? Используем этот объект контекста.

По умолчанию: undefined в режиме strict mode, в противном случае объект global.

Вместо четырех стандартных правил привязки стрелочные функции ES6 используют лексическую область видимости для привязки this, что означает, что они заимствуют привязку this (какой бы она ни была) от вызова своей окружающей функции. Они по существу являются синтаксической заменой self = this в до-ES6 коде.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly