π‘ ES5μ ES6μ μ°¨μ΄
ES5μ ES6μ λνμ μΈ μ°¨μ΄μ
- λ³μ μ μΈ
- νμ΄ν ν¨μ, this
- ν νλ¦Ώ 리ν°λ΄
- λͺ¨λ
- ν΄λμ€
1. ES5 vardml λ¬Έμ μ
- var μ€λ³΅ μ μΈμ΄ κ°λ₯
- varλ λΆλ‘ λ¨μ λ³μκ° μλ (ν¨μλ μ μ λ¨μλ§ μ§μ κ°λ₯)
- varλ νΈμ΄μ€ν
(μ μ¬μ© ν μ μΈ) κ°λ₯
2. λΈλ‘ λ¨μμ let λ±μ₯
- letμ μ€λ³΅ μ μΈ λΆκ°λ₯
- letμ λΈλ‘ λ¨μμ λ³μ
- letμ νΈμ΄μ€ν
λΆκ°λ₯
3. μμλ₯Ό μ μνλ const ν€μλ
- μμλ₯Ό μ μν λλ μ μΈκ³Ό λμμ μ΄κΈ°ν νμ
- letκ³Ό λμΌνκ² λΈλ‘ λ¨μ λ³μ, νΈμ΄μ€ν
μ μ§μνμ§ μμ
- constλ μμμ΄κΈ° λλ¬Έμ μλ‘μ΄ κ°μ ν λΉν μ μμ
- const μ μΈ μ λ³μλͺ
μ λλ¬Έμλ‘ μ§μ
4. const ν€μλμ κ°μ²΄
- constλ‘ κ°μ²΄λ₯Ό μ μΈ μ κ°μ²΄ λ΄μ© λ³κ²½ κ°λ₯
- μμ κ°μΈ λ³μλ μ¬ν λΉ μμ΄ λ³μ κ°μ λ³κ²½ν μ μμ
- κ°μ²΄ μμ± κ°λ€μ μ¬ν λΉ μμ΄ μ§μ λ³κ²½ κ°λ₯
- const: μ¬ν λΉ κΈμ§, λΆλ³ μλ―ΈX
5. ES6 λ³μ μ μΈ
- κΈ°λ³Έμ μΌλ‘ constλ₯Ό μ¬μ©νμ¬ λ³μλ₯Ό μ μΈνλ μ¬ν λΉμ΄ νμν λ³μλ letμΌλ‘ μ μΈ
- varλ₯Ό μ¬μ©νμ§ μμ
- let λ³μλ₯Ό μ μΈν λλ μ΅μνμ λ¨μ μ μΈ
- μμμ κ°μ²΄λ constλ₯Ό μ¬μ©νμ¬ μ μΈ
6. Template Literal
- ES6μμ λμ
λ μλ‘μ΄ λ¬Έμμ΄ νκΈ°λ²
- λ©ν°λΌμΈ λ¬Έμμ΄, ννμ μ½μ
, νκ·Έλ ν¬νλ¦Ώμ μ§μ
- λ°±ν±(`)μ μ¬μ©νμ¬ μ μΈ
- ${ } μ΄μ©ν΄μ μ μΈλ λ³μλ₯Ό λ¬Έμμ΄μ μ§μ μ½μ
κ°λ₯
7. μ§μ μ°μ°μ
- κ±°λμ κ³±μ κ³μ°ν΄μ£Όλ μ°μ°μ
- **λ‘ νμ
- Math.pow()λ λμΌν κΈ°λ₯
8. λ
Όλ¦¬ μ°μ°μλ₯Ό μ΄μ©ν λ¨μΆ νκ°
- &&, || κ²°κ³Όλ₯Ό κ²°μ νλ κ°μ λ°ν
- ex) 'cat' && 'dog' = 'dog'
- ex) 'cat' || 'dog' = 'cat'
- true || anything = true
false || anything = anything
- true && anything = anything
false && anything = false
9. κ°μ²΄μ μΆκ°λ κΈ°λ₯
- μμ±μ μΆμ½ νν
var obj = {
x: 1,
y: 2
}
//ES6
let x = 1, y = 2;
const obj = {x, y};
- κ³μ°λ νλ‘νΌν° μ΄λ¦
Templateliteral ννμ μ½μ
κΈ°λ₯μ μ΄μ©νμ¬ λμ μΌλ‘ μμ±κ°μ λ§λ€ μ μμ
- λ©μλμ μΆμ½ νν
10. ES6μμ μλ‘ λμ
λ class
- ES5μμλ κ°μ²΄μ μμμ νλ €λ©΄ 무쑰건 νλ‘ν νμ
μ μμμ μ΄μ©
- κ°μ²΄μ§ν₯ μΈμ΄μ μ΅μν κ°λ°μλ€μ΄ νλ‘ν νμ
κΈ°λ° κ°λ°μ μ΄λ €μμ λκ»΄ ES6λΆν°λ classκ° λμ
λ¨
- classλ₯Ό μ¬μ©νλ€κ³ νλ‘ν νμ
κΈ°λ°μ ν¬κΈ°νλ κ²μ μλ
- ES5μ κ°μ²΄ μμ±λ°©μμ νλμ λ°©μμ΄ μΆκ°λ κ²
- κΈ°μ‘΄ κ°μ²΄ μμ± λ°©μλ³΄λ€ νΈνκ² μμ ꡬν κ°λ₯ (extends, super ν€μλ μ¬μ© κ°λ₯)
- classμ μ μΈ
class κ°μ²΄λͺ
{
//μμ±μ ν¨μλ λ°λμ constructor μ¬μ©
constructor(λ§€κ°λ³μ){
μ΄κΈ°νκ³Όμ ;
}
νλ‘ν νμ
λ©μλ{
}
μ μ λ©μλ{
}
get getter λ©μλ(){
}
set setter λ©μλ(){
}
}
- classμλ νλ μ§μ λΆκ°λ₯, λ©μλλ§ μ μΈ κ°λ₯
11. classμ μμ
- extends ν€μλλ₯Ό μ¬μ©νμ¬ μμλ°μ μλ‘μ΄ ν΄λμ€λ₯Ό μ μ
- μμ± ν¨μλ₯Ό μμ λ°μ λμ μΌλ‘ ν΄λμ€ μμ± κ°λ₯
12. ES6 νμ΄ν ν¨μ
- ES6 μ΄μ μ λ©μλλ€μ λͺ¨λ νΈμΆ κ°λ₯νλ©΄μ μμ±μ ν¨μλ‘ μ¬μ© κ°λ₯νκΈ° λλ¬Έμ λͺ¨λ λ©μλλ€μ λΆνμνκ² prototype κ°μ²΄κ° μμ±λλ κ²½μ°κ° λ°μ
- νΈμΆ κ°λ₯νμ§λ§ μμ±μ ν¨μλ‘λ μ¬μ© λΆκ°λ₯ν νμ΄ν ν¨μ λ±μ₯
- νμ΄ν λ©μλμ μ μ
function ν€μλ λμ =>
//ES5
function add(a,b){
return a + b;
}
//ES6 νμ΄ν ν¨μ
const add = (a,b) => {
return a + b;
}
const add = (a, b) => (
a + b;
)
const print = a =>{
console.log(a);
}
const add = () => {
console.log(1 + 2);
}
13. νμ΄ν ν¨μμ μΌλ° ν¨μμ μ°¨μ΄μ
- νμ΄ν ν¨μλ μμ±μ ν¨μλ‘ μ¬μ© λΆκ°λ₯
- νμ΄ν ν¨μλ prototype μμ±λμ§ μμ
- μ€λ³΅λ λ§€κ°λ³μ μ΄λ¦ μ¬μ© λΆκ°λ₯
- νμ΄ν ν¨μλ arguments, this, super, new.target λ°μΈλ©μ κ°μ§ μμ
- νμ΄ν ν¨μλ μΌλ° ν¨μμλ λ¬λ¦¬ μμ λ§μ thisλ₯Ό κ°μ§μ§ μμ
- νμ΄ν ν¨μ λ΄λΆμμ thisλ₯Ό μ¬μ©νλ©΄, κ·Έ thisλ μΈλΆμμ κ°μ κ°μ Έ μ΄
14. Rest νλΌλ―Έν°
- ...ν€μλλ₯Ό μ¬μ©νμ¬ ν¨μμ μ λ¬λ λ§€κ°λ³μ λͺ©λ‘μ λ°°μ΄λ‘ μ λ¬ λ°λλ€.
15. λ§€κ°λ³μμ κΈ°λ³Έ κ° μ§μ
- ES6μμ ν¨μλ₯Ό μ μν λ λ§€κ°λ³μμ κΈ°λ³Έ κ° μ§μ κ°λ₯
function add (a = 1, b = 1){
return a + b;
}
- Rest Parameterμλ κΈ°λ³Έ κ° μ§μ λΆκ°λ₯
16. λ°°μ΄μ κ³ μ°¨μ ν¨μ
- concat : μλ³Έ λ°°μ΄ λ§μ§λ§μ μλ‘μ΄ μμλ₯Ό μΆκ°ν λ°°μ΄ λ°ν
- map : λ°°μ΄μ μμλ₯Ό νλμ© κΊΌλ΄μ μΈμλ‘ μ λ¬λ μ½λ°± ν¨μλ₯Ό λ°λ³΅ νΈμΆ
μ½λ°± ν¨μμ λ°ν κ°λ€λ‘ μ΄λ£¨μ΄μ§ μλ‘μ΄ λ°°μ΄ λ°ν
- filter : λ°°μ΄μ μμλ₯Ό νλμ© κΊΌλ΄μ μΈμλ‘ μ λ¬λ μ½λ°± ν¨μλ₯Ό λ°λ³΅ νΈμΆ
μ½λ°± ν¨μμ λ°ν κ°μ΄ trueμΈ μμλ‘λ§ μ΄λ£¨μ΄μ§ μλ‘μ΄ λ°°μ΄ λ°ν
'#1 Language π > 1-2 Javascript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Javascript] ν΄λΌμ΄μΈνΈ μ¬μ΄λ vs μλ² μ¬μ΄λ (0) | 2023.03.31 |
---|---|
[Javascript] λνμμ alet, prompt, comfirm (0) | 2022.11.18 |
[Javascript] ECMAScript 6 (ES6)_2 (0) | 2022.11.18 |
[Javascript] ECMAScript 5 (ES5) (0) | 2022.11.18 |
[JavaScript] JavaScriptμ μμ¬μ νμ¬, λ―Έλ (0) | 2022.11.03 |