JS 对象基本用法

声明对象的两种语法

let obj = {'name':'obj'}  //第一种写法 
let obj = new Object({'name':'obj'})  //第二种写法

注: 在声明对象的{}中,属性名会自动变成字符串

let obj = {name:'obj',gender:'unknown'}
Object.keys(obj) //会得到["name","gender"]

删除对象的属性

delete obj.xxx  //第一种写法
delete obj['xxx']  //第二种写法

查看对象的属性

  • 查看所有属性
Object.keys(obj) //查看自身所有属性
console.dir(obj) //查看自身+共有属性
  • 查看某一个属性
obj['key'] //第一种写法
obj.key //第二种写法

修改或增加对象的属性

  • 直接赋值
obj.xxx = 'xxx' //第一种写法
obj['xxx'] = 'xxx' //第二种写法
obj[yyy] = 'xxx' //第三种写法,其中yyy为变量,可以let yyy ='xxx'
  • 批量赋值
    Object.assign(obj,{xxx:'xxx',yyy:'yyy'})

'name' in objobj.hasOwnProperty('name') 的区别

  • 'name' in obj判断obj(自身+共有属性)内是否有name这个属性,返回布尔值,包括共有属性中的属性,如toString
  • obj.hasOwnProperty('name')判断obj自身内是否有name这个属性,返回布尔值,不包括共有属性中的属性,如果自身没有toString属性时,判断obj.hasOwnProperty('toString')会返回false
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。