Есть несколько способов добавить свойства к объекту в JavaScript. Один из них — добавить свойство, используя точечную нотацию:
obj.foo = 1;
Мы добавили свойство foo
к объекту obj
выше со значением 1.
Мы также можем добавить свойство, используя обозначение скобок:
obj ['foo'] = 1;
Он делает то же самое, что и в первом примере, но мы можем иметь недопустимые идентификаторы свойств в строка.
Итак, мы можем написать что-то вроде:
obj ['foo-bar'] = 1;
var obj = {Name: "Joe"}; obj .Age = 12; console.log (obj.Age) obj ['Country'] = "США" console.log (obj.Country)
Помните:
'foo-bar'
недействительный идентификатор, но мы можем добавить его как свойство.
Object.defineProperty
Мы также можем использовать код Object.defineProperty > function:
Object.defineProperty (obj, 'foo', {value: 1})
Мы можем больше контролировать, как свойство будет действовать с этим метод. Помимо установки значения с помощью свойства value
, мы также можем сделать его записываемым
с помощью свойстваwritable и перечислимым с помощью enumerable
свойство.
Enumerable означает, что оно будет извлекаться или проходить через цикл с помощью Object.keys
или цикл for-in
.
Writable определяет, можем ли мы установить новое значение для свойства.