NM
Size: a a a
NM
VZ
NM
class User {
constructor(name) {
this.name = name
}
sayHi() {
return `Hi, ${this.name}`
}
sayHello = () => `Hello, ${this.name}`
}
const jhon = new User('Jhon')
console.log(jhon.sayHello())
NM
NM
NM
const obj = {
name: 'Vasya',
sayHi: () => `Hi, ${this.name}`
}
console.log(obj.sayHi()) // undefined
V
C
V
NM
class User {
constructor(name) {
this.name = name
}
sayHi() {
return `Hi, ${this.name}`
}
sayHello = () => this
}
const jhon = new User('Jhon')
console.log(jhon.sayHello()) // User { sayHello: [Function: sayHello], name: 'Jhon' }
V
vs
class User {
constructor(name) {
this.name = name
}
sayHi() {
return `Hi, ${this.name}`
}
sayHello = () => `Hello, ${this.name}`
}
const jhon = new User('Jhon')
console.log(jhon.sayHello())
vs
const obj = {
name: 'Vasya',
sayHi: () => `Hi, ${this.name}`
}
console.log(obj.sayHi()) // undefined
РР
NN
IH
NM
VZ
class User {это тоже самое что
constructor(name) {
this.name = name
}
sayHello = () => this.name
}
class User {и это полное говно, потому что классы наследники не смогут наследовать через супер данные функции. Они будут инициализироваться только через конструктор и их не будет в прототипе.
constructor (name) {
this.name = name;
this.sayHello = () => {
return this.name;
};
}
}
VZ