ES6 λ 무μμΈκ°?
- μ°μ ESλ ECMAScriptμ μ½μλ‘ μλ°μ€ν¬λ¦½νΈμ νμ€, κ·κ²©μ λνλ΄λ μ©μ΄μ
- ES λ€μ μ«μλ λ²μ μ λ»νλ κ²μΌλ‘ ES6μ λ²μ 6μ μλ―Ένλ©°, 2015λ
μ μΆμλμκ³ νμ€μ λ§μ λ³νκ° μμμ
λνμ μΌλ‘ μλ λͺκ°μ§λ‘ μμ½ν΄λ΄:
1. let, const
- κΈ°μ‘΄μλ varλ₯Ό ν΅ν΄μ λ³μλ₯Ό μ μΈνκ³ ν λΉνμ§λ§, ES6λΆν°λ letκ³Ό constκ° μ§μλ¨.
- letμ μ¬μ μΈ λΆκ°, μ¬ν λΉ κ°λ₯ν λ³μμ΄κ³ constλ μ¬μ μΈ λΆκ°, μ¬ν λΉ λΆκ°λ₯ν λ³μμ.
2. ν
νλ¦Ώ 리ν°λ΄
- λ°±ν±(Back tick)μ μ§μ.
- κΈ°μ‘΄μ μλ°μ€ν¬λ¦½νΈ λ³μλ₯Ό λ¬Έμμ΄κ³Ό ν¨κ» μ°κΈ°μν΄μλ +λ₯Ό ν΅ν΄μ μ°κ²°ν΄μ£Όμ΄μΌ νμ§λ§, ν
νλ¦Ώ 리ν°λ΄μ΄ μ§μλλ©° νλ²μ λνλΌ μ μκ² λμμ.
- μ¬μ©λ°©λ²μ λνλ΄κ³ μ νλ λ¬Έμμ΄μ λ°±ν±μΌλ‘ κ°μΈκ³ , μ€κ°μ μλ°μ€ν¬λ¦½νΈ ννμμ μ¬μ©νκ³ μΆλ€λ©΄ ν΄λΉ λ³μλ₯Ό ${} λ‘ λ¬Άμ΄ ννμ΄ κ°λ₯ν¨.
3. κ°μ²΄ 리ν°λ΄
- κ°μ²΄ μμ ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ κ°λ₯ν΄μ‘μ.
- μ΄μ λ³΄λ€ κ°κ²°ν΄μ§ μ½λλ‘ κ°μ²΄λ₯Ό μ μΈνλ κ²μ΄ κ°λ₯ν΄μ‘μ.
4. νμ΄ν ν¨μ
- ν¨μννμμ νμ΄ν ν¨μλ‘ κ°κ²°νκ² νν κ°λ₯ν΄μ‘μ.
- νμ΄ν ν¨μλ₯Ό ν΅ν΄ λ§λ€μ΄μ§ λ³Έλ¬Έμ return λ§ μλ κ²½μ° returnκ³Ό {}λ₯Ό μλ΅ν μ μμ.
5. ꡬ쑰 λΆν΄ ν λΉ
- λ§ κ·Έλλ‘ κ΅¬μ‘°λ₯Ό λΆν΄ν΄μ ν λΉνκ² λ€λ λ»μΌλ‘ κ°μ²΄λ λ°°μ΄μμ μ¬μ©λ¨.
- κ°μ ν΄μ²΄νκ³ , κ°κ° κ°λ³ κ°μ λ³μμ μλ‘ ν λΉνλ κ³Όμ μ μλ―Έν¨.
6. Promise
- μ΄μ μλ λΉλκΈ°λ₯Ό μ²λ¦¬νκΈ° μν΄μ callback ν¨μλ₯Ό μ΄μ©ν μ½λ°±ν¨ν΄μ ν΅νμλλ° μ½λ°±ν¬μ λ°μμν€λ λ¬Έμ κ° μμμ.
- μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ νλ‘λ―Έμ€κ° λμ
λμκ³ , νλ‘λ―Έμ€ νμμ²λ¦¬ λ©μλλ₯Ό μ΄μ©ν΄μ μλ¬ μ²λ¦¬λ₯Ό ν¨κ³Όμ μΌλ‘ ν μ μκ² λμμ.
7. Class
- μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ
κΈ°λ°μ κ°μ²΄μ§ν₯μΈμ΄λ‘ ν΄λμ€ κΈ°λ°μ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ μ§μνλλ‘ Class ν€μλλ₯Ό λμ
νμμ.
- Classμ λμ
μΌλ‘ μμ λ±μ κ°λ
μ μ μ©ν μ μμ΄ λ μ’μ κ°λ
μ±μ κ°μ§ μ½λλ₯Ό λ§λ€μ΄ λΌ μ μκ²λ¨.
8. String ν¨μ
- includes, startsWith, endsWith ν¨μκ° μλ‘ μΆκ°λ¨.
9. Multi-line String
- λ¬Έμμ΄μ΄ λΌμΈμ λμ΄κ°κ² λλ©΄ κ°νλΆνΈμ λ§μ
μ ν΅ν΄μ μ¬μ©ν΄μΌνμ§λ§, λ°±ν±μ΄ μ§μλλ©° μ¬λ¬ μ€ λ¬Έμμ κ΄λ¦¬κ° νΈν΄μ‘μ.
10. Module
- λͺ¨λμ΄λ μ¬μ¬μ©μ μν μ½λ μ‘°κ°μΌλ‘ μμΈν μ¬νμ μΊ‘μνλ₯Ό ν΅ν΄μ κ°μΆκ³ , APIλΆλΆλ§ μΈλΆμ λ
ΈμΆνμ¬ μ½λμ μ¬μ¬μ©μ±μ μ¦κ°μμΌ°μ.
μΆμ²:
https://velog.io/@quin1392/ES6%EC%9D%98-%ED%8A%B9%EC%A7%95
https://fz7948.tistory.com/56
(μλ¬Έ ν΄μ)
- ECMAScript 6, also known as ECMAScript 2015, is the latest version of the ECMAScript standard. ES6 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009.
ES6 includes the following new features:
-arrows
-classes
-enhanced object literals
-template strings
-destructuring
-default + rest + spread
-let + const
-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
Source:
https://github.com/lukehoban/es6features