hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性
举例:
let tempObj ={propName:'666'};
tempObj.propName2 ='999'
console.log(tempObj.hasOwnProperty('propName'))//返回true
console.log(tempObj.hasOwnProperty('propName2'))//返回true
具体可参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
Array.isArray() 用于确定传递的值是否是一个 Array
。
举例:
let tempArry = [1,2,3];
console.log(Array.isArray(tempArry))//返回true
console.log(Array.isArray([1]))//返回true
console.log(Array.isArray(new Array()))//返回true
console.log(Array.isArray({}))//返回false
console.log(Array.isArray(true))//返回false
具体可参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组.
举例:
const object1 = {
a: 'somestring',
b: 42
};
for(let [key,value] of Object.entries(object1)){
console.log(key+': '+value)//a: somestring b: 42
}
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.entries(obj)); //返回 [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]
具体可参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
静态方法 Reflect
.set()
工作方式就像在一个对象上设置一个属性。
语法:Reflect.set(target, propertyKey, value[, receiver])
target
:设置属性的目标对象。
propertyKey
:设置的属性的名称。
value:设置的值。
receiver:如果遇到 setter,this 将提供给目标调用。
举例:
// Object
let objTest = {};
Reflect.set(objTest, "prop", "value"); // true
console.log(objTest.prop); // "value"
// Array
var arrTest = ["duck1", "duck2", "duck3"];
Reflect.set(arrTest, 2, "goose"); // true
console.log(arrTest[2]); // "goose"
具体可参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set