Смущает доступ к свойству объекта с помощью точечных или квадратных скобок

Просматривая некоторые онлайн-ресурсы, я натолкнулся на следующие примеры:

В этом случае к этим свойствам можно получить доступ через this.property метод и this['property'], но не может быть принят с помощью this[property]

function showFullName() {
  alert( this.firstName + " " + this.lastName );
}

var user = {
  firstName: "Alex",
  lastName: "Graves"
};

showFullName.call(user) 


В следующем примере доступ к свойствам с помощью this.property а также this['property'] приводит к undefined,

var user = {
  firstName: "Alex",
  surname: "Graves",
  secondSurname: "Martinez"
};

function showFullName(firstPart, lastPart) {
  alert( this[firstPart] + " " + this[lastPart] );
}

showFullName.call(user, 'firstName', 'secondSurname') 


Не могли бы вы немного уточнить поведение точечных и квадратных скобок?

0 ответов

Другие вопросы по тегам