Duas sintaxes para declarar objetos
let obj = {'name':'qmn','age':18} 简单写法
let obj = new Object({'name': 'qmn'}) 正规写法
Como excluir os atributos de um objeto
excluir obj.xxx ou excluir obj ['xxx']
Como visualizar as propriedades de um objeto
Object.keys () Ver todas as chaves do objeto
Object.values () Ver todos os valores de um objeto
Object.entries () Ver toda a chave e valor do objeto
Como modificar ou aumentar as propriedades de um objeto
Atribuição direta
let obj = {name:'frank'} // name是字符串
obj.name = 'frank' // name是字符串
obj['name'] = 'frank'
obj[name] = 'frank' // 错误,因为name值不确定
obj['na' + 'me'] = 'frank'
let key = 'name' ; obj[key] = 'frank'
let key = 'name'; obj.key='frank' // 错误
因为 obj.key 等价于 obj['key']
Atribuição de lote
Object.assign (obj, {age: 18, gender: 'man'})
A atribuição de lotes é uma nova API no ES6
A diferença entre 'name' em obj e obj.hasOwnProperty ('name')
in é determinar se uma propriedade está em um objeto, se está no protótipo do objeto
O método hasOwnProperty é determinar se uma propriedade está no próprio objeto, não no protótipo