ES3 기본적인 JavsScript 문법.. var 를 통한 변수 선언. var 변수는 hoisting 현상 발생 ** hoisting 이란 변수를 선언하기 전에 변수를 먼저 사용하는 것. ES4 es4에 대한 정보는.. 없어졌다는 이야기도 있고 es3.1 버전이 es5가 되면서 es6으로 되었다는 설도 있다.. ES5 배열에 대한 여러가지 함수, JSON 등등이 추가 되었다. 참조: ES5 - w3school 'use strict' 문법을 더 엄격한 모드로 변경.. 보통 최신 버전의 스크립트에서는 따로 사용할 일이 없을듯... 아직까지는 사용하는것을 보지는 못했지만, 평소에는 그냥 넘어가는 오류같은것을 에러로 만드는 등의 동작을 하는듯 하다.. 1. 스크립트 전체에 strict 모드 => 스크립트 최 상단에 'use strict' 를 추가 2. 함수에만 strict 모드 => 함수 내부 최 상단에 'use strict' 를 추가 3. 모듈에 strict 모드 => 모듈로 정의된 스크립트에는 자동으로 strict 모드가 추가되어 있다. 참조: use strict - MDN String.trim() 앞뒤의 공백을 제거 참조: String.trim() - MDN Array.isArray() 배열 타입인지를 검사(boolean) 참조: Array.isArray() - MDN Array.forEach() 배열의 요소를 순차적으로 실행 참조: Array.forEach() - MDN Array.map() 배열 각각의 요소에 대하여 주어진 함수를 호출한 새로운 결과를 반환한다. 참조: Array.map() - MDN Array.filter() 배열 각각의 요소에 대하여 주어진 함수에 통과하는 요소들의 결과를 반환한다. 참조: Array.filter() - MDN Array.reduce()...
ECMAScript 2018 아직은 전체적으로 다 이해하고 있지는 않지만, 이번 버전에서 중요한 것은, rest / spred 기능과 Promise 에 finally 가 추가 되었다는 거 같다.. 2018 부터는 w3school 에 작성되어 있지 않다.. D2 와 함께했다. 참조: ECMAScript 2018 - D2 async iteration 아직 정확한 내용은 모르겠다... 더 찾아봐야 하겠다! MDN 에도 찾아볼수가 없다.. 내가 못찾는건지..?? rest / spred (전개 구문) 신박한 확장? 방식이다. 객체나 배열을 복사를 넘어서 추가도 수정도 할 수있다. 물론 복사만 한다면 내부 함수를 사용할 수 있지만, 복사를 하면서 값을 수정 또는 추가를 할 수는 없다. 그런 점에서는 객체에 관련하여 더 강력해졌다. 참조: 전개 구문 - MDN 정규 표현식 정규 표현식에 관하여 기능이 강화 되었다. 원하는 패턴에 따라 이름을 지정하여 그룹에서 이름으로 값을 참조할 수 있다. 또한 여러가지 문법? 패턴들이 추가되었다. 해당 패턴들에 대해서는 종류가 많다.. 필요할 때 마다 MDN 을 참조해야 하겠다. 어차피 이 전의 표현식에 관하여는 몰랐으니 그냥 알면 되겠다.. 참조: 정규 표현식 - MDN Promise resolve 의 then, reject 의 catch 에 이어서 finally 가 추가되었다. 다른 finally 와 기능은 같다. Promise 의 상태에 관계없이 무조건 실행되는 구문? 블록? 이다.
ECMAScript 2019 ES2019 에서는 크게 변화한 것이 없다. 내장 함수 몇개와 catch 구문에 대하여, 또한 JSON 과 toString, Symbol 의 성능의 개선? 정도이다. 참조: ECMAScript 2019 - D2 Object.fromEntires() Object.entires() 의 반대 버전. [key, value] 형태의 2차원 배열을 객체로 만들어 준다. 꼭 [key, value] 형태가 아니어도 되는듯 하다. 빈 배열도, key 값만 있어도, 3개의 인덱스를 가지고 있어도 객체로 만들어는 준다. 누락되거나 undefined 거나 하면 되니까... 참조: Object.fromEntries() - MDN Array.flat() 다차원 배열을 1차원 배열로 만들수 있다. 기본값은 1이지만, depth 를 넣어주면 1차원 배열로 만들수 있다. 참조: Array.flat() - MDN Array.flatMap() Array 의 Map 함수와 flat 함수의 통합형. Map 함수 기능인 callback 함수를 수행하고, 결과에 flat 으로 평탄화 작업을 한다. 하지만 1레벨의 평탄화밖에 하지 못한다. 참조: Array.flatMap() - MDN String.trimLeft(), String.trimStart() 주어진 문자열의 왼쪽 공백을 제거한다. MDN 은 영문만 제공된다. 둘이 같은 기능을 담당한다. 참조: String.trimStart() - MDN String.trimRight(), String.trimEnd() 주어진 문자열의 오른쪽쪽 공백을 제거한다. MDN 은 영문만 제공된다. 둘이 같은 기능을 담당한다. 참조: String.trimEnd() - MDN catch 구문의 파라미터 생략 catch 구문에서 에러에 관하여 사용하지 않을 때, 에러 파라미터 없이 catch 문을 구현 가능하다. 물론 무슨 에러가 발생했는지는 모르겠지.. 참조: catch - MDN 성능의 개선에 대하여는 그냥 더...
댓글
댓글 쓰기