JS 对象基本用法

109 阅读1分钟

1.声明对象的两种语法

let obj = { 'name': 'frank', 'age': 18 }

let obj = new Object({'name': 'frank'})

console.log({ 'name': 'frank, 'age': 18 })

细节

键名是字符串,不是标识符,可以包含任意字符

引号可省略,省略之后就只能写标识符

就算引号省略了,键名也还是字符串(重要)

2.如何删除对象的属性

delete obj.xxx 

delete obj['xxx']

3.如何查看对象的属性

查看自身所有属性

Object.keys(obj)

查看自身+共有属性

console.dir(obj)

或者自己依次用 Object.keys 打印出 obj.proto

判断一个属性是自身的还是共有的

obj.hasOwnProperty('toString')

4.如何修改或增加对象的属性

直接赋值

let obj = {name: 'frank'} // name 是字符串

obj.name = 'frank' // name 是字符串

obj['name'] = 'frank'

obj['na'+'me'] = 'frank'

let key = 'name'; obj[key] = 'frank'

批量赋值

Object.assign(obj, {age: 18, gender: 'man'})

5.'name' in obj和obj.hasOwnProperty('name') 的区别

'name' in obj  用来检验 ‘name'是不是 obj的属性名 true是存在’name‘的属性 false是不存在或已删除

obj.hasOwnProperty('name') 判断一个属性是自身的还是共有的 true是自身的 false是共有的