JS 对象基本用法

80 阅读1分钟

对象

  1. 无序的数据集合
  2. 健值对的集合

声明对象的两种语法

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

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

如何删除对象的属性


通常使用delete obj['属性名']来删除对象的属性,而obj.属性名 = undefined只会将属性值变成undefined,但是属性名还是存在的。

如何查看对象的属性


第一种:查看自身所有属性
let obj = {name : 'jack',age : 18}

Object.keys(obj) //查看自身所有属性
Object.values(obj) //查看所有值
Object.entries(obj) //查看所有属性+值

第二种:查看自身+共有属性

let obj2 = {name : 'jack',age : 18}
console.dir(obj2) //以目录的形式打印出

//或者使用__proto__ 直接打印出共有属性(不推荐,不规范)

obj2.__proto__

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


  1. 改自身:       obj['name'] = 'jack'
  2. 批量改自身:Object.assign(obj,{age:18,gender:'man',...})
  3. 改共有属性:Object.prototype['toString'] = 'xxx'
  4. 改原型:
  5. let common = {name : 'jack', age : 18}
    let obj = Object.create(common)
    
对象存在时,就修改,不存在时就是增加。

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


name' in obj是查看属于自身的属性
obj.hasOwnProperty('name')是判断一个属性是否是共有的,是返回true,否的话返回false