대상의 기능 확장-understanding ECMAScipt6 독서노트4
객체 분류
ES6는 객체를 다음과 같은 범주로 분류합니다.
대상의 글자 크기 확장
키의 이름이 (value의 변수 이름)과 같을 때 간략하게 쓸 수 있습니다
function (name,age){
return {
name,
age
}
}
글자의 양 안에 있는 방법의 명칭은 간략하게 쓸 수 있다
var obj = {
getValue(){
//
}
}
계산 속성 이름
처음에 회사 환경이ES5였을 때 제가 이 구덩이를 밟았던 기억이 납니다. 저는 정부에서 이걸 지지할 거라고 생각했어요. but...
var a = Symbol();
var obj = {
[a] : 666
}
새로운 방법
Object.is()
전통적인
===
you 두 가지 질문:-0 === +0
NaN !== NaN
Object.is()는 이 두 문제를 해결했다.두 개의 매개 변수를 전송하여 각각 비교의 양쪽이다
Object.assign()
그동안 두 대상을 하나의 대상으로 통합하기 위해 얕은 복사 함수를 스스로 써야 했다.Object.assign ()이 이 문제를 해결했다.n개의 매개 변수를 입력할 수 있습니다. 첫 번째 매개 변수는receiver이고, 다른 매개 변수는 순서대로 속성과 방법을receiver에 추가합니다.
대상의 글자 양의 속성 중명
var obj = {
'a': 1,
'a': 2
}
위의 코드는 ES5 엄격 모드에서 오류가 발생하며 ES6는 기본적으로 뒤로 덮어씁니다.//개인적으로 이렇게 하는 것이 논리에 더 부합된다고 생각한다.
속성의 열거 순서
정렬 규칙
Object.getOwnPropertyNames()
Reflect.ownKeys()
Object.assign()
영향 받지 않는 방법
for in
Object.keys()
JSON.stringify()
Object.setPrototypeOf()
ES5는
Object.getPrototypeOf()
를 제공했고 내부 방법[[[Prototype]]의 값을 읽었으며 ES6는 더욱 진일보하여 Object.setPrototypeOf()
방법을 제공했다.두 개의 매개 변수, 1참은 대상이고, 2참은 원형이다.super 키워드
이 대상의 원형을 가져오는 데 사용합니다
Object,getPrototypeOf()
.주: 이 키워드는 간략하게 쓰는 방법에만 사용할 수 있습니다. 아래와 같습니다.let person = {
getSuper(){
return Super;
}
}
Object.getPrototypeOf(this)
를 통해서도 super
의 효과를 얻을 수 있지만 Object.getPrototype(this)
는 this
키워드에 의존하고 this
키워드는 어떤 상황에서 자신을 가리키지 않는다.super
내부 방법 [[HomeObject]에 의존하여 저장된 Prototype의 이름입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.