Object方法

2020-02-24  本文已影响0人  李霖弢

Object.keys(obj)

返回一个所有元素为字符串的数组,其元素来自于从给定的obj可枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

Object.getOwnPropertyNames(obj)

返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

Object.getOwnPropertySymbols(obj)

返回一个给定对象自身的所有 Symbol 属性的数组。

Object.getOwnPropertyDescriptor(obj)

返回指定对象上一个自有属性对应的属性描述符。

const descriptor1 = Object.getOwnPropertyDescriptor({
  property1: 42
}, 'property1');

console.log(descriptor1.configurable);
// expected output: true

console.log(descriptor1.value);
// expected output: 42

Object.create(proto[, propertiesObject])

注意

不同于var obj = new Object(...)var obj = {...}直接创建的对象,通过propertiesObject添加的属性,其描述符默认均为false

因此

// bar is a property which isn't enumerable
var myObj = Object.create({}, {
  bar: {
    value: 2
  } 
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']

Object.assign(target, ...sources)

Object.assign({}, { age: 1 },{ name : "ming" });
var t1 = {};
var output = Object.assign(t1, { age: 1 });
console.log(output === t1);//true
上一篇 下一篇

猜你喜欢

热点阅读