目录
一、创建对象
1. 通过{}创建对象
let object = {};
object.name = '张三';
object.age = 18;
console.log(object); //输出结果为:{name: '张三', age: 18}
2. 通过new Object()创建对象
let object = new Object();
object.name = '张三';
object.age = 18;
console.log(object); //输出结果为:{name: '张三', age: 18}
3. 使用字面量创建对象
let object = {name: '张三', age: 18 };
console.log(object); //输出结果为:{name: '张三', age: 18}
二、获取对象长度
1. 获取对象长度
对象的长度不能用.length获取,可以用js原生的Object.keys获得一个对象属性的数组,然后再用.length
let object = {name: '张三', age: 18 };
var arr = Object.keys(object);
console.log(arr.length); //2
三、添加某一属性
1. 直接添加
直接在对象A中添加需要的键值对内容,具体代码如下所示:
let objectA = {
name: '张三'
};
let key = 'age';
let value = 18;
objectA[key] = value; //结果为:objectA.age = 18
console.log(objectA); //输出结果为:{name: '张三', age: 18}
2. 使用扩展运算符…
使用扩展运算符…实现对象中添加对象是比较常用的方式,具体代码如下所示:
let objectA = {
name: '张三'
};
let objectB = {
age: 18
};
let object = { ...objectA, ...objectB};
console.log(object); //输出结果为:{name: '张三', age: 18}
3. Object.assign()方法
Object.assign()方法有好几个用法,主要是用于将所有可枚举属性的值从一个或多个源对象复制到目标对象中。这里主要是介绍关于对象的合并相关的功能,具体代码如下所示:
let objectA = {
name: '张三'
};
let objectB = {
age: 18
};
Object.assign( objectA, objectB);
console.log(objectA); //输出结果为:{name: '张三', age: 18}
四、删除某一属性
1. delete
delete 对象.属性名
let object = {name: '张三', age: 18 };
delete object.age;
console.log(object); // {name: '张三'}
2. es6之解构赋值(推荐使用)
let object = {name: '张三', age: 18 };
var { age, ...object } = object;
console.log(object); // {name: '张三'}
3. es6之反射
Reflect.deleteProperty(对象,属性名)
let object = {name: '张三', age: 18 };
Reflect.deleteProperty(object,"age");
console.log(object); // {name: '张三'}
五、修改某一属性
1. 修改属性名
let object = {name: '张三', age: 18 };
let objectJson = JSON.stringify(object).replace(/"name":/, '"userName":');
object = JSON.parse(objectJson);
console.log(object); //{userName: '张三', age: 18}
2. 修改属性值
let object = {name: '张三', age: 18 };
object.name = '李四';
console.log(object); //{userName: '李四', age: 18}
六、判断某一属性是否存在
1. 使用 in 操作符
JavaScript 中的 in 操作符可以用来判断一个对象是否包含某个特定的属性。通过使用 in 操作符,我们可以轻松地检查对象中是否存在指定的属性。示例代码如下:
let object = {name: '张三', age: 18 };
console.log('name' in object); // true
console.log('address' in object); // false
2. 使用 hasOwnProperty 方法
JavaScript 中的 hasOwnProperty 方法是 Object 对象的一个方法,用于判断指定对象是否具有特定属性。与 in 操作符相比,hasOwnProperty 方法更加严格,只有在对象自身拥有指定属性时才会返回 true。示例代码如下:
let object = {name: '张三', age: 18 };
console.log(object.hasOwnProperty('name')); // true
console.log(object.hasOwnProperty('address')); // false
3. 使用 Object.keys 方法
JavaScript 中的 Object.keys 方法可以返回一个对象自身可枚举属性的数组,通过判断返回数组中是否包含某个字段,可以判断对象中是否具有该属性。示例代码如下:
let object = {name: '张三', age: 18 };
const keys = Object.keys(object);
console.log(keys.includes('name')); // true
console.log(keys.includes('address')); // false
4. 使用 Object.getOwnPropertyNames 方法
除了 Object.keys 方法外,JavaScript 中还提供了 Object.getOwnPropertyNames 方法,用于返回一个对象自身的所有属性(包括不可枚举属性)的数组。通过判断返回数组中是否包含某个字段,同样可以判断对象中是否包含该属性。示例代码如下:
let object = {name: '张三', age: 18 };
const keys = Object.getOwnPropertyNames(object);
console.log(keys.includes('name')); // true
console.log(keys.includes('address')); // false