Никак не могу понять в чём ошибка, неужели так делать нельзя...
let hash = {
a: 5,
b: 2,
all: [this['a'], this['b']],
};
console.log(hash.all);
Если не понятно, где ошибка, надо начать с того места, где не было ошибки и пошагово наращивать код, попробовать поймать место с ошибкой. Например, вывести this для начала:
let hash = {
a: 5,
b: 2,
all: this
};
console.log(hash.all);
Здесь это глобальный объект window
) Соответственно, у него нет свойств a
и b
, оттуда и undefined.
А вот встроенная функция - уже подхватит именно этот объект как this:
let hash = {
a: 5,
b: 2,
all: function(){
return [this.a, this.b];
}
};
console.log( hash.all() ); // результат вызова функции
console.log( hash.all ); // сама функция
P.s.
let hash = {
a: 5,
b: 2,
c: 1,
};
console.log( Object.keys( hash ) ); // Собирает массив из ключей
console.log( Object.values( hash ) ); // Собирает массив из значений
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть структура, которая хранит событие и флаг является оно последним или нет