>웹 프론트엔드 >프런트엔드 Q&A >es6의 객체 메소드는 무엇입니까?

es6의 객체 메소드는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-10-20 14:34:454255검색

es6의 객체 메소드: 1. "Object.is()", 두 값이 완전히 동일한지 비교하는 데 사용됩니다. 이는 기본적으로 엄격한 비교 연산자 "==="와 동일한 동작입니다. 2. " Object.sign() )", 객체 병합에 사용됨; 3. "Object.keys()", 객체를 순회하고 모든 키 이름을 얻습니다. 4. "Object.keys()", 객체를 순회하고 모든 키 값을 얻습니다. 5. "Object.entries()", 객체를 탐색하고 모든 값 쌍을 얻습니다.

es6의 객체 메소드는 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

ES6의 새로운 Object 메서드

Object.is()

Object.is() 두 값이 엄밀하게 동일한지 비교하는 데 사용되며 엄격한 조건과 함께 사용됩니다. 비교 연산자( === )는 기본적으로 동일한 동작을 갖지만 세 번째 등호 판단에 따라 두 가지 새로운 차이점이 있습니다.

Object.is()에는 두 가지 차이점만 있습니다. 하나는 +0이 -0과 같지 않다는 것이고 다른 하나는 NaN이 자신과 같다는 것입니다. +0不等于-0,二是NaN等于自身

语法:Object.is(value1, value2);

传入两个要比较的值,判断是否相同,全等的话返回true,不全等返回false。

es6의 객체 메소드는 무엇입니까?

三等号既要判断值的类型是否相等,还要判断引用地址是否相等。所以Object.is()也是,在判断对象和数组这些引用类型的数据是不相等的。

Object.assign()

Object.assign()方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target )。

es6의 객체 메소드는 무엇입니까?

注意:

这里是浅拷贝!!

如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性!!

let obj1 = {a:{b:1},b:22};
let obj2 = Object.assign({b:11},obj1);
console.log(obj2); // {b:22,a:{b:1}}
//修改obj1的属性值
obj1.a.b = 2;
//这时会影响到obj2的属性值,这就是浅拷贝导致的
console.log(obj2.a.b); // 2

Object.keys()、Object.values()、Object.entries()

Object.keys()方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名数组。

Object.values()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值数组。

Object.entries()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对

구문: ​​Object.is(value1, value2);

비교할 두 값을 전달하여 두 값이 일치하면 true를 반환하고, 일치하지 않으면 true를 반환합니다. 거짓을 반환합니다.

es6의 객체 메소드는 무엇입니까?三등호는 값 유형이 동일한지 여부뿐만 아니라 참조 주소가 동일한지 여부도 결정합니다. 그래서 Object.is() 역시 객체, 배열 등 참조형의 데이터가 동일하지 않다고 판단합니다.

🎜🎜Object.sign()🎜🎜🎜🎜Object.sign() 메서드는 객체를 병합하는 데 사용되며, 소스 객체( source )의 열거 가능한 모든 속성을 대상 객체( target )에 복사합니다. 🎜🎜여기에 이미지 설명 삽입🎜🎜참고: 🎜🎜 여기 얕은 사본입니다! ! 🎜🎜대상 개체와 소스 개체에 동일한 이름의 속성이 있거나 여러 소스 개체에 동일한 이름의 속성이 있는 경우 이후 속성이 이전 속성을 덮어씁니다! ! 🎜
let obj = {name:"winne",age:22};
let objKeys = Object.keys(obj);
let objValues = Object.values(obj);
let objItem = Object.entries(obj);

console.log(objKeys);   //["name","age"]
console.log(objValues); //["winne",22]
console.log(objItem);   //[["name","winne"],["age",22]]
🎜🎜🎜Object.keys(), Object.values(), Object.entries()🎜🎜🎜🎜Object.keys() 메서드는 매개변수 개체 자체를 구성원으로 포함하는 배열을 반환합니다. 열거 가능한(상속되지 않는) 모든 속성에 대한 키 이름 배열입니다. 🎜🎜 Object.values() 메서드는 매개변수 객체 자체의 모든 탐색 가능한(열거 가능한) 속성(상속된 속성 제외)의 키-값 배열을 구성원으로 포함하는 배열을 반환합니다. . 🎜🎜 Object.entries() 메서드는 매개변수 객체 자체의 모든 탐색 가능한(열거 가능한) 속성의 키-값 쌍 배열(상속된 속성 제외)을 구성원으로 포함하는 배열을 반환합니다. ) . 🎜
//for..of遍历

for( let key of objKeys){
    console.log(key)
}
//name
//age

//forEach遍历
objKeys.forEach(function(item,index){
    console.log(item,index);
})
//name  0
//age   1
🎜원하는 부분을 꺼낸 후 배열을 순회하여 각 항목을 얻을 수 있습니다. 🎜rrreee🎜【관련 추천: 🎜javascript 비디오 튜토리얼🎜, 🎜프로그래밍 비디오🎜】🎜

위 내용은 es6의 객체 메소드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.