Введение в стрелочные функции в JavaScript
Синтаксис
function square(a) {
return a * a;
}
JavaScript
Синтаксис
const square = function (a) {
return a * a;
}
JavaScript
Синтаксис
const square = (a) => {
return a * a;
}
JavaScript
Синтаксис
const square = a => {
return a * a;
}
JavaScript
Синтаксис
const square = a => a * a;
JavaScript
Контекст выполнения
function simple() { return this; }
const object = {
method() { return this; }
};
class Class {
classMethod() { console.log(this); }
}
const instance = new Class();
simple(); // `this` refers to the global object
new simple(); // `this` refers to the newly created instance
object.method(); // `this` refers to `object`
simple.call(object); // `this` refers to `object`
instance.classMethod(); // `this` refers to `instance`
setTimeout(
instance.classMethod, 0 // `this` refers to the global object
);
JavaScript
Контекст выполнения
const simple = () => this;
const object = {
method: () => this
};
class Class {
classMethod = () => { console.log(this); }
}
const instance = new Class();
simple(); // `this` refers to the global object
new simple(); // Uncaught TypeError: simple is not a constructor
object.method(); // `this` refers to the global object
simple.call(object); // `this` refers to the global object
instance.classMethod(); // `this` refers to `instance`
setTimeout(
instance.classMethod, 0 // `this` refers to `instance`
);
JavaScript
Функции
JavaScript