>  기사  >  웹 프론트엔드  >  자바스크립트의 일부가 아닌 데이터 유형은 무엇입니까?

자바스크립트의 일부가 아닌 데이터 유형은 무엇입니까?

藏色散人
藏色散人원래의
2021-04-23 10:28:2411166검색

javascript에 속하지 않는 데이터 유형은 js의 예약어인 인터페이스이며, javascript의 데이터 유형에는 정의되지 않음, 숫자, 기호 등이 있습니다.

자바스크립트의 일부가 아닌 데이터 유형은 무엇입니까?

이 기사의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript의 기본 데이터 유형은 (1) 정의되지 않음, (2) Null, (3) 부울, (4) 문자열, (5) 숫자, (6) 기호, (7) 개체입니다. ES6에서는 Symbol 유형을 추가합니다. 다음은 주로 Symbol 유형과 관련된 몇 가지 지식 포인트에 대해 설명합니다.

Symbol의 특성

1. 인스턴스는 고유하고 변경할 수 없습니다. 다른 사람이 다시 쓰거나 덮어쓰지 않도록 개체의 고유한 속성 이름으로 사용할 수 있는 고유 식별자입니다. 재산 가치.

1 let id = Symbol("id");

2. 데이터 유형의 특성: 동일한 변수로 생성된 값이 동일하지 않은 경우에도 고유성.

1 let id1 = Symbol("id");2 let id2 = Symbol("id");3 console.log(id1 == id2);  //false

3. 데이터 유형의 특징: Hiddenness, for···in, object.keys()에 접근할 수 없습니다.

1 let id = Symbol("id");2 let obj = {3     [id] : 'symbol'          
4 }5 for ( let key in obj){6     console.log(obj[key]);  //输出为空7 }

접근할 수 있는 메소드: Object.getOwnPropertySymbols, 는 현재 객체의 속성 이름으로 사용되는 모든 기호 값을 구성원으로 포함하는 배열을 반환합니다.

1 let id = Symbol("id");2 let obj = {3   [id] : 'symbol'      
4 }5 let arr = Object.getOwnPropertySymbols(obj);6 console.log(arr)  // [Symbol(id)]7 console.log(obj[arr[0]]) // 'symbol'

4. 공식에서는 전역 등록 및 등록 방법을 제공합니다: Symbol.for()

let name1 = Symbol.for("name"); // 检测未创建后新建let name2 = Symbol.for("name"); // 检测已创建后返回console.log(name1 == name2); // true

이 방법으로 얻을 수 있습니다. 반대로 매개변수 값은 Symbol.keyFor()를 통해 얻을 수 있습니다.

let name1 = Symbol.for("name");
let name2 = Symbol.for("name");
console.log(Symbol.keyFor("name1")); // 'name'console.log(Symbol.keyFor("name2")); // 'name'

5.instanceof의 결과는 false

let s = Symbol('foo');
console.log(s instanceof Symbol); // false

참고: 기호 유형 데이터를 생성할 때 매개변수는 식별자로만 사용되므로 Symbol()도 매개변수로 사용할 수 있습니다.

【추천 학습: javascript 고급 튜토리얼

위 내용은 자바스크립트의 일부가 아닌 데이터 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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