ES6 - 새로운 대상 object

9059 단어 ES6
자 바스 크 립 트 에서 대상 은 매우 중요 한 개념 으로 개발 과정 에서 우 리 는 반드시 대상 을 떠 날 수 없 을 것 이다.효율 적 이 고 간결 함 을 추구 하 는 ES6 의 이번 기준 제정 도 대상 에 게 큰 혜택 을 주 었 다.
● ES6 대상 속성:
//////es5            、   、  [],                   
///// es6       :
let w='www';
let obj1={w};//obj1={w:'www'},      ,  
let obj2={[w]:'b'};//obj2={www:'b'},  []      
let obj3={['w'+'s']:'c'};//obj3={ws:'c'},[]            
let obj4={'mr chen':'d'};//obj4['mr chen']='d';es6          
let obj5={fun(){}};//obj5={fun:function(){}}        
let obj6={['f'+'un'](){}};//obj6={fun:function(){}};//              
let 

es6 새로운 기준 에서 대상 은 많은 속성 명명 상의 옮 겨 다 니 는 규칙 을 추 가 했 고 심지어 키워드 도 속성 명 이 될 수 있 습 니 다. 우 리 는 es5 의 규칙 에 익숙 합 니 다. 처음에 es6 의 쓰기 에 익숙 하지 않 았 을 수도 있 지만 오래 사용 하면 정말 편리 하 다 는 것 을 알 수 있 습 니 다!
● es6 신규 - 옮 겨 다 니 는 방법:
/////////Object.keys    /////////
let obj={a:1,b:2,c:3}
Object.keys(obj)//["a", "b", "c"]        

/////////Object.keys  value/////////
let obj={a:1,b:2,c:function(){}}
Object.values(obj)//[1, 2, function]      value   

/////////Object.entries     /////////
let obj={a:1,b:2,c:function(){}}
Object.entries(obj)//[['a',1],['b', 2], ['c',function]]         

/////////Object.getOwnPropertyNames    (  +    )/////////
let obj={a:1,b:2,c:function(){}}
Object.getOwnPropertyNames(obj)//["a", "b", "c"]               

/////////////////////////////////////
//Object.getOwnPropertySymbols()  es6     symbol     ;
//Reflect.ownKeys()          、symbol             ;

es6 새로 추 가 된 symbol, proxy, itreator 는 js 언어 를 더욱 복잡 하 게 만 드 는 동시에 더욱 강해 지고 대상 도 더욱 심오 해 지 며 앞으로 의 글 도 각각 목적 성 있 게 쓸 것 이다.
●Object.is:
let obj={a:1,b:2};
Object.is(obj,obj);//true
Object.is(obj,{obj});//false
Object.is({},{});//false
Object.is('1',1);//false
Object.is(-0,0);//false
Object.is(NaN,NaN);//true
Object.is(NaN,-NaN);//true

Object 는 단순 한 비교 가 아니 라 '= =' 과 같 지 않 습 니 다. 가 깝 지만 '= = =' 과 다 릅 니 다. NaN 과 0, es6 에 대해 약간의 조정 을 했 습 니 다.
●Object.assign:
let obj={a:1,b:2};
Object.assin(obj,{c:3});//obj={a:1,b:2,c:3}


let obj1={a:1,b:2};
let obj2={a:'a',c:3};
Object.assign(obj1,obj2);//obj1={a:'a',b:2,c:3}


let obj1={a:1,b:2};
let obj2={a:'a',c:3};
Object.assign({},obj1,obj2);//     {a:'a',b:2,c:3}
///////////////////////////
let arr=[1,2,3];
Object.asign(arr,['a']);//arr=['a',2,3]


let arr1=[1,2,3];
let arr2=[,,,'a','b','c']
Object.asign([],arr1,arr2);//     [1, 2, 3, "a", "b"]

Object. asign () 방법 은 jQuery 의 $. extend () 방법 과 비슷 합 니 다. 문법 구 조 는 Object. asign (target, object 1, object 2...), target 은 조작 대상 / 배열 이 고 뒤의 매개 변 수 는 모두 원본 대상 입 니 다.object 를 조작 할 때 작업 대상 과 원본 대상 은 속성 이 겹 치지 않 으 면 연결 되 돌아 오고 속성 이 겹 치면 후 자 는 전 자 를 덮어 쓰 고 연결 되 돌아 갑 니 다.array 를 조작 할 때 도 대상 으로 볼 수 있 습 니 다. 그 속성 은 하나 도 없 는 색인 index 입 니 다. 빈 값 을 통 해 배열 과 배열 을 직접 연결 할 수 있 습 니 다.
● 원형 조작:
let obj={name:'wbiokr'};
let mthObj={sayName(){console.log(this.name)}};
obj.__proto__=mthObj;
obj.sayName();//'wbiokr,obj   mthobj   sayname(),  obj      mthObj   ,mthObj     

es6 표준 도입 지침proto__ 프로 토 타 입 작업 을 진행 합 니 다. 이 외 에 도 Object. setPrototypeOf () 와 Object. getPrototypeOf () 도 대상 프로 토 타 입 을 조작 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기