Разница в скобках?
let user = {
name: "Вася",
start() {
alert(this.name)
}
};
user.start(); // Здесь нет скобок.
let user = {
name: "Коля",
start() {
alert(this.name)
}
};
(user.start)(); // А здесь user.start в скобках, зачем они?
Ответы (1 шт):
Автор решения: Денис Степанов
→ Ссылка
Тут это не имеет значения.
Ну, если уж на то пошло, то вот пара примеров, когда имеет.
function foo() {
return 0;
}
function boo() {
return "boo";
}
console.log((foo && boo)()); // boo
console.log(foo() && boo()); // 0
console.log((foo || boo)()); // 0
console.log((foo() || boo())); // boo
Когда вы используете foo и boo без скобочек, вы оперируете функциями как обьктами, однако вызывая foo() и boo() вы начинаете оперировать результатом выполнения этих функций.