В языке программирования JavaScript свойства и методы объекта могут быть доступны через точечную нотацию и квадратные скобки.

  1. Точечная нотация:

Свойство объекта может быть доступно через точечную нотацию, которая использует имя объекта, за которым следует точка и имя свойства. Например:

var person = {
  name: "John",
  age: 30,
  sayHello: function () {
    console.log("Hello!")
  },
}
 
console.log(person.name) // Выводит "John"
person.sayHello() // Выводит "Hello!"
  1. Квадратные скобки:

Свойство объекта также может быть доступно через квадратные скобки, которые используют имя объекта, за которым следует в квадратных скобках имя свойства в виде строки. Например:

var person = {
  name: "John",
  age: 30,
  sayHello: function () {
    console.log("Hello!")
  },
}
 
console.log(person["name"]) // Выводит "John"
person["sayHello"]() // Выводит "Hello!"

Обратите внимание, что при использовании квадратных скобок, имя свойства должно быть заключено в кавычки.

  1. Оператор in:

Оператор in позволяет проверить, содержит ли объект свойство с заданным именем. Он возвращает true, если свойство существует, и false, если его нет. Например:

var person = {
  name: "John",
  age: 30,
  sayHello: function () {
    console.log("Hello!")
  },
}
 
console.log("name" in person) // Выводит true
console.log("address" in person) // Выводит false
  1. Метод hasOwnProperty:

Метод hasOwnProperty позволяет проверить, содержит ли объект собственное свойство с заданным именем (то есть, свойство, которое определено непосредственно в объекте, а не унаследовано от прототипа). Он возвращает true, если свойство существует, и false, если его нет. Например:

var person = {
  name: "John",
  age: 30,
  sayHello: function () {
    console.log("Hello!")
  },
}
 
console.log(person.hasOwnProperty("name")) // Выводит true
console.log(person.hasOwnProperty("toString")) // Выводит false, так как toString - свойство, унаследованное от прототипа Object
  1. Индексная нотация:

Доступ к свойствам объекта также может быть получен с помощью индексной нотации, которая использует имя объекта, за которым следуют квадратные скобки, в которых указывается имя свойства в виде строки. Использование индексной нотации аналогично использованию точечной нотации, но это может быть полезно, если имя свойства содержит пробелы или другие специальные символы. Например:

var person = {
  "first name": "John",
  age: 30,
  sayHello: function () {
    console.log("Hello!")
  },
}
 
console.log(person["first name"]) // Выводит "John"

Обратите внимание, что при использовании индексной нотации, имя свойства должно быть заключено в кавычки.


Назад