Задать вопрос
@aLeXxX_03

В чем отличие this.sort от this[sort]?

В строчке

return sort ? this.list.slice().sort(this[sort]) : this.list;

пытаюсь вместо this[sort] сделать this.sort, но выходит значение undefined. А this[sort] работает нормально.

Не могу понять, в чем разница между этими двумя записями: this[sort] и this.sort.
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 2
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
- this.sort обращается напрямую к свойству объекта.
- this[sort] использует вычисляемое имя свойства.
const obj = {
  sort: 1,
  noSort: 2,
}

const x = 'noSort';

console.log(obj.sort) // 1

console.log(obj[x]) // 2
// эквивалент в этом примере
console.log(obj['noSort']) // 2
Ответ написан
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
const sort = 'other';
const any  = 'other';

const obj = {
  sort: 'my name is sort',
  other: 'my name is other',

  test() {
    console.log(this.sort);  // 'my name is sort'
    console.log(this[sort]); // 'my name is other'
    console.log(this[any]);  // 'my name is other'
  }
}

obj.test();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы