JS 对象基本用法

·  阅读 36

1. 声明对象的两种语法

对象是 JavaScript 语言的核心概念,也是最重要的数据类型。简单来说,对象就是一组 “键值对” 的集合,是一种无序的复合数据集合。

声明对象的方式为

let obj = {
  foo: 'hello',
  bar: 'world'
};
复制代码

或者

let obj = new Object({foo: 'hello', bar: 'world'});
复制代码

键名是字符串,可以包含任意字符。引号可以省略,省略之后只能使用 Unicode 字符,$,下划线和数字;即使引号省略了,键名也还是字符串。

变量也可以作为键名,但是要加上 []。变量的值如果不是字符串,会自动转为字符串。

let a = 'xxx'
let obj = {[a]: 'yyy'}
复制代码

2. 删除对象的属性

使用delete obj.xxx 或者 delete obj['xxx'] 可以删除 objxxx 属性

'xxx' in obj 可以判断 obj 中是否有 xxx 属性,无此属性会返回 false。但这样并不能判断 xxx 是否是 obj 自身的属性。
使用 obj.hasOwnProperty('xxx') 可以判断 xxx 是否是 obj 自身的属性。

obj.xxx === undefined 并不能判断 obj 中是否有 xxx 属性。

3. 如何查看对象的属性

Object.keys(obj)       //查看所有的属性名,不包括共有属性
Object.values(obj)     //查看所有的属性值,不包括共有属性
Object.entries(obj)    //查看所有的属性值和属性名,不包括共有属性
console.log(obj)       //查看所有的属性名和属性值,包括共有属性
obj['xxx']
obj.xxx                //查看 obj 里的 xxx 属性
复制代码

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

可以直接对属性进行赋值

let obj = {name: 'frank'}

obj.age = 18
obj['name'] = 'xxx'
复制代码

也可以进行批量赋值

let obj = {}

Object.assign(obj, {name: 'frank', age: 18})
复制代码

修改对象的原型对象的方法

let common = {}
let obj = Object.create(common)     //common 作为对象 obj 的原型对象
复制代码
分类:
前端
标签:
分类:
前端
标签: