> 웹 프론트엔드 > JS 튜토리얼 > ES6 객체 할당 및 기호

ES6 객체 할당 및 기호

php中世界最好的语言
풀어 주다: 2018-03-10 15:00:26
원래의
1879명이 탐색했습니다.

이번에는 ES6 객체의 할당과 심볼을 가져오겠습니다. ES6 객체의 할당과 심볼을 사용할 때 주의사항은 무엇인가요?

 객체 할당 병합:

//es6语法允许变量直接为对象的赋值,快捷方便;
let liu="呵呵哒";
let long="赖皮哒";
let a={liu,long};
console.log(a) ;
//es6语法允许为对象构建key值;
let key='skill';
var obj={ [key]:'web'}
console.log(obj.skill);
//es6语法允许直接合并对象;
let s={liuliu:"wowoda",age:20};
let ss={long:"赖皮"};
let sss=Object.assign(s,ss);
console.log(sss);
//object.is()方法判断是否相等;
로그인 후 복사

두 개의 등호는 비교 중에 자동으로 유형 변환을 수행하지만, 세 개의 등호는 그렇지 않습니다. 유형이 다르면 false가 직접 반환되고,

그리고 Object.is ( )는 세 번째 등호를 기반으로 하며 NaN, -0 및 +0을 특별히 처리하여 -0과 +0이 더 이상 동일하지 않도록 합니다.

그러나 Object.is(NaN, NaN)에 유의해야 합니다. )은 true를 반환합니다

기호: 새로운 데이터 유형으로 es6에서 탄생했습니다. 기호는 문자 그대로 상징을 의미하며 무언가의 고유성을 나타냅니다.

 let myId=Symbol();
 let myname=Symbol();          
 console.log (myname)       ===>Symbol()
 typeof myname             ===>symbol
 console.log(myId===myname)        ===>false
로그인 후 복사

와 유사한 기호로 간주될 수 있습니다. 문자열 ; 암시적으로 변환할 수 없습니다.

Symbol()은 메모리에 새 함수를 생성하는 것으로 생각할 수 있습니다. 따라서 괄호가 함수의 기호라고 해도 과언이 아닙니다. ) );

Symbol 함수는 매개변수를 전달할 수도 있습니다. 매개변수는 이 Symbo에 대한 설명으로만 사용됩니다.

 let myId=Symbol("id");
 let myname=Symbol("名字");
로그인 후 복사

두 기호의 매개변수가 동일하더라도 새 메모리 공간이 동일하지 않습니다.

Symbol의 가장 큰 용도는 개체의 속성으로 고유성을 보장하는 것입니다.

 let system=Symbol();
 let foo={};
 foo[system]="windows";       //还可以保证key值为symbol类型的不被 for in遍历出来;
                                            //同样还证明了一点:对象的访问方式,要么以 . ;要么以["这里必须是字符串"];js的底层全部是字符串这种实现;
 console.log(foo);
로그인 후 복사

Symbol은 플래그를 공유할 수도 있습니다.

 let sy=Symbol.for("aaa");
로그인 후 복사

Symbol.for(" ")는 매번 새 메모리를 생성하지 않습니다. 최대 1개만 존재합니다. 페이지에 aaa 로고가 없으면 새로 만들고, 있다면 이전 주소를 직접 참조하세요.

 let cccc=Symbol.for("aaa");
로그인 후 복사

그런 다음: console.log(sy== =cccc); //true; 결국에는 aaa 설명이 포함된 특정 기호 유형의 고유성이 보장됩니다. 더 흥미로운 정보를 알고 싶으시면 PHP 중국어 웹사이트의 다른 관련 기사도 주목해주세요!

관련 읽기:

ES6의 구조 분해 할당에 대한 자세한 설명

ES6의 변수 범위 및 선언에 대한 자세한 설명

위 내용은 ES6 객체 할당 및 기호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿