Object的新属性方法

1.Object.create(prototype[,descriptors]) 创建一个对象。
**2.Object.defineProperty(O,Prop,descriptor)/Object.defineProperties(O,descriptors) **
descriptor 是 property的更多描述,可以用一组键值对表示;

Object.defineProperty(o,'age', {
            value: 24,   //值
            writable: true,  //是否只读
            enumerable: true,  //是否可枚举(for in)
            configurable: true   //是否可删除
    });
 
 
/*或者可以同时定义多个属性*/
Object.defineProperties(o, {
            'age': {
                value: 24,
                writable: true,
                enumerable: true,
                configurable: true
            },
            'sex': {
                value: 'male',
                writable: false,
                enumerable: false,
                configurable: false
            }
    });

3.Object.getOwnPropertyDescriptor(O,property) 获取设置的property的特性
4.Object.getOwnPropertyNames 获取所有属性名,返回数组
5.Object.keys() 获取所有可枚举的属性,返回数组
6.Object.preventExtensions(O) 锁住,使该对象不能增加新属性,但是仍可更改和删除
7.Object.seal(O) 密封,不能增加也不能删除属性,但仍可更改
8.Object.freeze(O) 冻住,不能增加、删除、修改,所有属性writable 全部设为false。

你可能感兴趣的:(Object的新属性方法)