ES2018(ES9) 변화 Rest, Spread Rest 선택되지 않은 나머지 속성을 모아준다. 값이면 복사하고 객체는 참조한다. const { a, ...rest } = { a: 1, b: 2, c: 3 }; console.log(rest); // { b: 2, c: 3} - 코드 출처 : 제로초님 블로그 Spread Object.assign과 비슷하다. 값이면 복사하고 객체는 참조한다.(같은 속성명이라면 덮여씌워진다.) const obj = { a: 1, b: 2, c: 3 }; const spread = { a: 3, d: 4, ...obj, }; console.log(spread); // { a: 1, b: 2, c: 3, d: 4 } (a: 3이 덮어씌워짐) - 코드 출처 : 제로초님 블로그 ..
ES2016(ES7) 변화, ES2017(ES8)의 변화 ES7 ES6에 비해 변경된 것이 별로 없다. 제곱연산자와 includes 메소드가 가장 큰 변화 제곱연산자 ** 를 통해 제곱연산을 할 수 있다. Math.pow(5, 3); // 125 5 ** 3; // 125 var i = 5; i **= 3; // 125 includes(찾을요소, 시작 순서) 배열에 해당 요소가 있는지 확인 indexOf와 같은 결과가 나오지만 NaN에 대한 처리가 다르다. [NaN].includes(NaN); // true [NaN].indexOf(NaN) > -1; // false ES8 메소드 Object Object.values(객체) Object.entries(객체) Object.keys와 Object.value..
ES6 간단하게 알고가기 선언 ES6에서는 블럭 스코프 선언 방식(let, const)을 사용한다. let 변수 const 상수 (배열과 오브젝트의 값 변경은 가능하다.) immutable array 기존 배열을 복제하여 사용한다. 전개연산자(Spread Operator)를 사용하여 복제할 수도 있다. (immutable.js라는 라이브러리도 있다.) const a = [1,2,3]; const b = [...a]; 메서드 화살표함수(Arrow function) 클래스 개념 도입 setPrototypeOf 프로토타입 객체 추가 모듈(module) 프록시(proxy) startsWith(), endWith() 앞 뒤로 문자열 일치 여부 판단 includes() 문자열 포함 여부 판단 for-of for-i..
2020년과 이후 JavaScript의 동향 - JavaScript(ECMAScript) 여전히 가장 인기있는 언어 1위를 차지 - JetBrains, StackOverflow 등장이후 2020년까지 3번의 큰 변화를 겪었다고 말한다. http://10.1.123.63:7080/users/sign_in 다양한 의견을 잘 정리해주셔서 새로운 시각을 많이 접할 수 있었다. TC39 기술위원회, Javascript Engine, Javascript의 종말, 모듈, ECMAScript 등.. ECMAScript2020-2021의 주요 스펙을 간단히 소개해주는데, 흥미로운것들이 많다. 다음 아티클들은 ECMAScript2020 명세를 확인하는 것으로 해야겠다. pawelgrzybek.com/whats-new-in..