JS 对象基本用法

130 阅读1分钟
  1. 声明对象的两种语法
  2. let a = 1
    const a = 1

  3. 如何删除对象的属性
  4. delete obj['xxx']
    delete obj.xxx
    检查是否删除成功:
    'xxx' in obj 为false

  5. 如何查看对象的属性
  6. 查看自身所有属性名:Object.keys(obj)
    查看自身所有属性值:Object.values(obj)
    查看自身所有属性名+值:Object.entriesz(obj)
    查看自身所有属性+共有属性:console.dir(obj)

    查看单个属性:
    obj['key']
    obj.key
    查看变量:obj.[key]

  7. 如何修改或增加对象的属性
  8. 直接赋值:
    let obj={name:'frank'}
    obj.name='frank'
    obj['name']='frank'
    let key='name';obj['name']='frank'

    一般来说,不修改原型,会引起很多问题。

  9. 'name' in obj和obj.hasOwnProperty('name') 的区别
  10. 'name' in obj是检验属性是否存在对象中
    obj.hasOwnProperty('name')是判断属性为自身的还是共有的

    补充:
    in 表示obj对象中是否包含name字符串这个键,如果原型链中也有name字符串这个属性名,也可以返回true
    hasOwnProperty 则表示在obj对象中是否包含name字符串这个属性名。不从含原型链中查找。