JS对象的基本用法

作者: cy_Wey | 来源:发表于2022-07-10 11:10 被阅读0次

对象是复杂数据类型,定义了无序键值对的集合

一、声明对象

let obj = {'name' = 'Jack', 'age' = 18}
let obj = new object({'name' = 'Jack', 'age' = 18})
  • 键名是字符串,不是标识符,可以包含任何字符
  • 引号可以省略,省略之后只能写标识符了,就算引号省略了,键名仍是字符串
  • 对象没有数字下标
var a = 'xxx'
var obj = {
    [a] = 111  // 此时a为变量,a的值为xxx
}
  • 不加 [ ] 属性名会自动变成字符串
  • 加了 [ ] 则会当做变量求值,值如果不是字符串则会自动变成字符串

二、删除对象属性

delect obj.name 删除属性名和值
obj.name = undefined 删除属性值

name in obj && name === undefined 判断含有属性名,但值为undefined
注意 name === undefined 不能判定 name 是否为 obj 的属性

三、查看对象属性

Object.key(obj) 查看对象的所有属性名
Object.values(obj) 查看对象的所有属性值
Object.entries(obj) 查看对象的所有属性名和属性值
console.dir(obj) 查看共有属性和自身属性

name in obj 判断属性名是否存在,不会区分自身属性和共有属性
obj.hasOwnProperty('name') 判断对象自身拥有的属性,不包含共有属性

四、修改或增加对象的属性

属性存在则修改,没有则增加
批量赋值,ES6 新出
Object.assign(obj, {p1 = 1, p2 = 2, p3 = 3})

  • 无法通过自身修改或增加共有属性

  • 一般来说不要修改原型
    推荐使用 Object.create 修改对象的原型,要改就开始就改,别后来再改

  • 不推荐使用 obj.__proto__ 修改对象原型的属性
    obj.__proto__['toString'] = 'xxx'
    推荐使用 obj.prototype 修改对象原型的属性
    obj.prototype['toString'] = 'xxx'

五、原型

  • 隐藏属性存了所有对象的共有属性的地址,这个共有属性组成的象叫做原型

  • 原型的作用是为了省内存

  • 每一个对象都有原型

  • __proto__ === null 人为指定原型为 null

  • obj = { } 的原型即为所有对象的原型,这个原型包含所有对象的共有属性,是对象的根,这个原型也有原型,是 null

  • 中括号语法 obj['key'],优先使用这种

  • 点语法 obj.key

  • 坑新人的写法 obj[key]
    obj[console.log(name)] 是 undefined
    obj.name等价于obj['name'],不等价于obj[name]obj.name中的 name 是字符串,而不是变量


资料来源:饥人谷

相关文章

  • js对象及其方法

    1.对象MDN文档2.JS基础--JS对象及其基本用法3.JavaScript 对象所有API解析

  • JS 对象基本用法

    1.声明对象的两种语法 ES6新增了两种声明对象的方法,分别是let和const。 2.如何删除对象的属性 del...

  • JS 对象基本用法

    一、声明对象的两种语法 let obj = { 'name' : 'frank' , 'age' : 18} le...

  • js对象基本用法

    1.声明对象 定义:无序的数据集合、键值对的集合 写法 属性名:每个key都是对象的属性名(property) 属...

  • JS 对象基本用法

    1 声明对象的两种语法 2 如何删除对象的属性 3 如何查看对象的属性 Object.keys(obj) 查...

  • JS 对象基本用法

    对象的定义 对象是无序的数值集合或者键值对的集合 声明对象的语法 let object = { 'name' : ...

  • JS对象基本用法

    一、声明对象的两种方法(对象:无序的数据集合&键值对的集合) ·简易声明:let obj = { 'name' :...

  • JS对象基本用法

    与JS相关的七种数据类型以及五个falsy值 七种数据类型 : number、string、bool、symbol...

  • JS对象基本用法

    声明对象的两种语法 如何删除对象属性 如何查看对象的属性 查看自身所有属性 查看自身+共有属性 判断一个属性是自身...

  • JS 对象基本用法

    6种基本数据类型 null undefined string number boolean symobl 5种fa...

网友评论

    本文标题:JS对象的基本用法

    本文链接:https://www.haomeiwen.com/subject/iprwbrtx.html