function myFn() {
return 'function'
}
const myFn = function() {
return 'function'
}
const myFn = () => {}
μ μΈμ ν¨μ vs ννμ ν¨μμ μ°¨μ΄
νΈμ΄μ€ν
: μ½λ μ€ν μ μμ±λ ν¨μ or λ³μκ° ν΄λΉ μ€μ½νμ μ΅μλ¨μΌλ‘ λμ΄μ¬λ €μ§λ νμ
μ½κ²λ§ν΄ ν¨μμ νΈμΆμ΄ ν¨μμ μΈλΆλ³΄λ€ μλ¨μμ μΌμ΄λλ λ¬Έμ μμ΄ ν¨μκ° μλνλ νμμ΄λ€
μ μΈμν¨μμμλ νΈμ΄μ€ν μ΄ λ°μνλ, λ³μμ ν¨μλ₯Ό ν λΉνλ ννμ ν¨μμμλ νΈμ΄μ€ν μ΄ μΌμ΄λμ§ μλλ€
fn1() //'f1' μ μμΆλ ₯
fn2() //Error
//ν¨μ μ μΈλ¬Έ
function fn1() {
console.log('fn1')
}
//ν¨μ ννμ
const fn2 = function () {
console.log('fn2')
}
μΌλ°ν¨μ vs νμ΄νν¨μμ μ°¨μ΄
μΌλ°ν¨μμ this
λ νΈμΆλ μμ μμ μ μ
(ν¨μλ₯Ό νΈμΆνλ μμΉμ λ°λΌ this
μ κ°μ΄ λ¬λΌ μ§ μ μμ)
νμ΄νν¨μμ this
λ μμ μ΄ μ μΈλ μμΉμμ μ μ
(ν¨μλ₯Ό νΈμΆνλ μμΉμ μκ΄μμ΄ μ μΈλ μμΉμ μλ¨λ²μμμ this
λ₯Ό μ μ
const user = {
name: "user",
normalFn: function () {
console.log(this.name)
},
arrowFn: () => {
console.log(this.name)
}
}
user.normalFn(); //"user"
user.arrowFn(); //undefined
νΈμ΄μ€ν μ νμ€ν μ΄ν΄κ° λλλ° μ¬μ€..thisλ μ΄λ κ² λ°°μ΄λλ‘ μ 리λ₯Ό ν΄λ΄λ....μ§μ§ λͺ¨λ₯΄κ² λ€... λλ¦λλ‘ λ°°μ΄μ§μμ κΈ°λ°μΌλ‘ μ리쑰리 μ½λλ₯Ό μ§λ΄λ μκ°μ΄λ λ€λ₯΄κ² λμ€κΈ°λ νκ³ ... γ γ thisλ₯Ό μ λλ‘ μ΄ν΄νκ³ μ€λ©΄ μ΄ κΈμ΄ λ λ€λ₯΄κ² 보μΌκΉ... νν ...