JS 对象基本用法

对象的定义

对象是无序的数值集合或者键值对的集合

声明对象的语法

  1. let object = { 'name' : 'zoe' , 'age' : 18 }
  2. let object = new Object({ 'name' : 'zoe' , 'age' : 18 })
  3. console.log({ 'name' : 'zoe' , 'age' : 18 })此为匿名对象

其中,'name'是键名,键名只能是字符串,不是标识符,可以包含任意字符。键名的引号可以省略,省略之后只能写标识符,此时键名还是字符串。

删除对象的属性

语法
  • delete obj.name
  • delete obj['name']
  • obj.name=undefined令属性名的值为空,此时属性名存在,并没有删除

如何查看对象的属性

语法
  1. Object.keys(obj)可以得到obj的所有key
  2. Object.values(obj)可以得到obj的所有属性值
  3. Object.entries(obj)查看所有key及其值
  4. obj.nameobj['name']查看单个属性的值
  5. console.dir(obj)查看自身属性+共有属性

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

直接赋值
  • let obj = {name: 'frank'}
  • obj.name = 'frank'
  • obj['name'] = 'frank'
  • obj['na'+'me'] = 'frank'
  • let key = 'name'; obj[key] = 'frank'此时key是变量,用变量的值作为属性名,可以把变量用[]括起来。
批量赋值

Object.assign(obj, {age: 18, gender: 'man'})其中obj是对象名

修改隐藏属性
let common = {kind: 'human'}
let obj = Object.create(common)
obj.name = 'frank'`
JS 对象基本用法_第1张图片
image.png

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

  • 'name' in obj判断属性名是否在对象里面,不会判断是自身还是共有的
  • obj.hasOwnProperty('toString')判断一个属性是自身的还是共有的

你可能感兴趣的:(JS 对象基本用法)