`this.sort` является некорректным синтаксисом, поскольку `sort` не является свойством объекта `this`. `this[sort]` используется для доступа к свойству объекта по имени `sort`. Например, если у объекта `this` есть свойство с именем `sort` и вы хотите получить его значение, вы можете использовать `this[sort]`. Таким образом, разница между `this.sort` и `this[sort]` заключается в том, что первый является некорректным синтаксисом, а второй используется для доступа к свойству объекта по динамическому имени.
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
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();
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