JS一些实用方法介绍(hasOwnProperty()、Array.isArray()、Object.entries()、Reflect.set())

1.hasOwnProperty()

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

2.Array.isArray()

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

3.Object.entries()

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

4.Reflect.set()

静态方法 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

你可能感兴趣的:(JS,JS,Array.isArray(),Reflect.set())