`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