Объясните этот пример:
var test = {
test1(){
alert('test');
}
}
test.test1();
Т. е. тут не используется function.
Не нашёл описания данного синтаксиса в интернете.
В каких случаях можно не использовать function при назначении метода?
Это обычный геттер?
Это объявление метода объекта.
Методы имеют некоторые отличия от функций и ключей.
Подробнее.
В любых случаях можно не использовать, если это объявление метода:
var obj = {
property( parameters… ) {},
*generator( parameters… ) {},
async property( parameters… ) {},
async* generator( parameters… ) {},
// with computed keys:
[property]( parameters… ) {},
*[generator]( parameters… ) {},
async [property]( parameters… ) {},
// compare getter/setter syntax:
get property() {},
set property(value) {}
};
Геттер может быть создан, если поставить перед определением метода get:
let obj = {
z () {
console.info('I am obj.z method');
},
get n () {
return 42;
}
};
console.info(obj.n);
Заметка: методы нельзя использовать как конструкторы:
let obj = {
f: function () {},
m () {}
};
console.info(new obj.f()); // {}
console.info(new obj.m()); // TypeError: ...
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости