λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Javascript

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ES6 ~ES2014

ECMAScript(ECMA-262) λŠ” Javascript λͺ…μ„Έ λ˜λŠ” μŠ€νŽ™μ„ μ˜λ―Έν•©λ‹ˆλ‹€. 

ECMA-262 : ECMA인터내셔널(ν‘œμ€€κΈ°κ΅¬)은 ECMAScript μ–Έμ–΄μ˜ 곡식 사양인 ECMA-262 ν‘œμ€€μ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 

즉, ECMAScriptλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν‘œμ€€μ΄λ©° λΌˆλŒ€(core)λ₯Ό κ΅¬μ„±ν•˜λŠ” 슀크립트 μ–Έμ–΄μž…λ‹ˆλ‹€. 

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” ECMAScript λͺ…μ„Έ λ˜λŠ” μŠ€νŽ™μ„ λ”°λ₯΄λŠ” 슀크립트 언어라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

ECMAScript 6 (2015)

ES6μ—λŠ” λ‹€μŒκ³Ό 같은 μƒˆλ‘œμš΄ κΈ°λŠ₯이 μΆ”κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

- arrows (ν™”μ‚΄ν‘œ ν•¨μˆ˜)
- classes (클래슀)
- enhanced object literals (object λ©”μ†Œλ“œ μ„ μ–Έ 및 속성(동적) μ„ μ–Έ)
- template strings (ν…œν”Œλ¦Ώ λ¬Έμžμ—΄)
- destructuring (ꡬ쑰뢄해할당)
- default + rest + spread (default νŒŒλΌλ―Έν„°, rest νŒŒλΌλ―Έν„°, μ „κ°œμ—°μ‚°μž)
- let + const (let, const block level μŠ€μ½”ν”„ λ³€μˆ˜μ„ μ–Έ)
- iterators + for..of
- generators
- unicode
- modules
- module loaders
- map + set + weakmap + weakset
- proxies
- symbols
- subclassable built-ins
- promises (비동기 ν”„λ‘œκ·Έλž˜λ°)
- math + number + string + array + object APIs
- binary and octal literals
- reflect api
- tail calls (꼬리 λ¬ΌκΈ° μ΅œμ ν™”)

 

ECMAScript 7 (2016)

- Array.prototype.includes()
- μ§€μˆ˜ μ—°μ‚°μž(**)

 

ECMAScript 8 (2017)

- Async Functions (async ~ await)
- Shared memory and atomics (곡유된 λ©”λͺ¨λ¦¬μ™€ μ›μž / SharedArrayBuffer 객체와 Atomics 객체λ₯Ό μ‚¬μš©ν•œ λ©”λͺ¨λ¦¬ 곡유)

 

ECMAScript 9 (2018)

- Asynchronous Iteration (비동기 반볡 / for-await-of)
- Rest/Spread Properties (μ „κ°œμ—°μ‚° 및 rest νŒŒλΌλ―Έν„° -> λ°°μ—΄λ‘œ λ³€κ²½)

 

ECMAScript 10 (2019)

- Array. Flat () and Array flatMap ()
- Object.fromEntries()
- String.prototype.trimStart(), String.prototype.trimEnd()
- Optional Catch
-  Function.prototype.toString()
- Symbol.prototype.description

 

 

ECMAScript 11 (2020)

- BigInt
- Dynamic import
- Optional chaining (?.)
- import.meta 
- globalThis
- String.prototype.matchAll() (μ§€μ •λœ μ •κ·œμ‹μ— λŒ€ν•΄ λ¬Έμžμ—΄κ³Ό μΌμΉ˜ν•˜λŠ” λͺ¨λ“  결과의 iteratorλ₯Ό λ°˜ν™˜)
- Null coalescing operator (null 병합 μ—°μ‚°μž)

 

ECMAScript 12 (2021)

- String.prototype.replaceAll()
- Promise.any() (promise 쀑 ν•˜λ‚˜λΌλ„ μ„±κ³΅ν•˜λ©΄ 싀행을 μ™„λ£Œ)
- Logical operators and assignment expressions (논리 μ—°μ‚°μžμ™€ ν• λ‹Ή ν‘œν˜„μ‹μ„ κ²°ν•©)
- WeakRefs
- Numeric separators (숫자 ꡬ뢄 기호 _)

 

ECMAScript 13 (2022)

- Class: private, static
- Top-Level await
- Error.cause
- .at() (λ°°μ—΄μ˜ 음수 인덱슀 μ ‘κ·Ό)
- Object.hasOwn()

 

ECMAScript 14 (2023)

- Change Array by Copy (μƒˆλ‘œ λ³΅μ‚¬λœ 배열을 λ°˜ν™˜/ toReversed(), toSorted(), toSpliced())
- Array.prototype.findLast() , Array.prototype.findLastIndex()
- Symbols as WeakMap keys

 

 

 

 

 

 

 

좜처:

 

ES6 ~ ES9 κ°„λž΅ 정리

ECMAScript(ECMA-262) λŠ” Javascript 에 λͺ…μ„Έ λ˜λŠ” μŠ€νŽ™μ„ μ˜λ―Έν•©λ‹ˆλ‹€.ECMA-262 : Ecma 인터내셔널 (ν‘œμ€€κΈ°κ΅¬)λŠ” ECMA 슀크립트 μ–Έμ–΄μ˜ 곡식 사양 인 ECMA-262 ν‘œμ€€μ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό λΌˆλŒ€λ₯Ό κ΅¬μ„±ν•˜

velog.io

 

 

New features for JS syntax ES6, ES7, ES8, ES9, ES10, ES11, ES12 - Moment For Technology

mo4tech.com (Moment For Technology) is a global community with thousands techies from across the global hang out!Passionate technologists, be it gadget freaks, tech enthusiasts, coders, technopreneurs, or CIOs, you would find them all here.

www.mo4tech.com

 

 

ES6 μ΄ν›„μ˜ 변경점 총정리

2009년에 ES5κ°€ λ“±μž₯ν•˜κ³  2015년에 ES6κ°€ λ“±μž₯ν•˜λ©° 큰 λ³€ν™”λ₯Ό κ²ͺ은 이후, ECMAλŠ” λ§€λ…„ μƒˆλ‘œμš΄ μžλ°”μŠ€ν¬λ¦½νŠΈ ν‘œμ€€μ„ λ°œν‘œν•©λ‹ˆλ‹€. ES6 이후 μΆ”κ°€λœ λ‚΄μš©μ€‘ μΌλΆ€λŠ” 이미 μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ, μžμ„Ένžˆ μ•Œμ•„λ³Έ

teamdable.github.io

 

 

당신이 JS 개발자라면 λ°˜λ“œμ‹œ μ•Œμ•„μ•Ό ν•  ES2022 μ‹ κ·œ κΈ°λŠ₯ 7κ°€μ§€ | GDSC UOS

μ‹œμž‘ μ•ˆλ…•ν•˜μ„Έμš”, GDSC UOS FEνŒ€μ—μ„œ μ½”μ–΄ λ©€λ²„λ‘œ ν™œλ™ν•˜κ³  μžˆλŠ” 이λͺ…μž¬μž…λ‹ˆλ‹€. μ§€λ‚œ 6μ›” 22일, ECMAScript 2022κ°€ 정식 μŠ€νŽ™μœΌλ‘œ μ±„νƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. FE κ°œλ°œμžλ‘œμ„œ λ–Όλ €μ•Ό λ—„ 수 μ—†λŠ” Javascript의 μƒˆ μ†Œμ‹μ΄

gdsc-university-of-seoul.github.io

 

 

ES2023에 μƒˆλ‘œ μΆ”κ°€λ˜λŠ” 것듀

Array와 TypedArray ν”„λ‘œν† νƒ€μž…μ— findLast() λ©”μ„œλ“œμ™€ findLastIndex() λ©”μ„œλ“œκ°€ μΆ”κ°€λœλ‹€. μ΄λ¦„μ—μ„œλ„ μ•Œ 수 μžˆλ“―μ΄ 두 λ©”μ„œλ“œλŠ” 각각 find(), findIndex() 와 같은 일을 ν•˜μ§€λ§Œ μ—­μˆœμœΌλ‘œ κ²°κ³Όλ₯Ό κ³„μ‚°ν•œλ‹€.

velog.io