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'] 可以删除 obj 的 xxx 属性
'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 的原型对象