
πstrict mode ?
μλ°μ€ν¬λ¦½νΈ μΈμ΄μ λ¬Έλ²μ μ’ λ μ격ν μ μ©νμ¬ μ€λ₯λ₯Ό λ°μμν¬ κ°λ₯μ±μ΄ λκ±°λ μλ°μ€ν¬λ¦½νΈ μμ§μ μ΅μ ν μμ μ λ¬Έμ λ₯Ό μΌμΌν¬ μ μλ μ½λμ λν΄ λͺ μμ μΈ μλ¬λ₯Ό λ°μμν¨λ€ !ESLintκ°μ λ¦°νΈ λꡬλ₯Ό μ¬μ©ν΄λstrict modeμ μ μ¬ν ν¨κ³Όλ₯Ό κ°μ§ μ μλ€.
ESLint ?strict modeκ° μ ννλ μ€λ₯λ λ¬Όλ‘  μ½λ© 컨벀μ
μ μ€μ  νμΌ ννλ‘ μ μνκ³  κ°μ ν  μ μκΈ° λλ¬Έμ λμ± κ°λ ₯ν ν¨κ³Όλ₯Ό λ³Ό μ μλ€.
βμλ¬΅μ  μ μ( implicit global )
μ μΈλμ§ μκ³ ν¨μ λ΄μμ μ¬μ©λ λ³μκ° μ묡μ μΌλ‘ μ μ κ°μ²΄μ νλ‘νΌν°λ₯Ό λμ  μμ±νλ κ²½μ°λ₯Ό μλ¬΅μ  μ μμ΄λΌκ³ νλ€. κ°λ°μμ μλμλ μκ΄μμ΄ λ°μν μλ¬΅μ  μ μμ μ€λ₯λ₯Ό λ°μμν€λ μμΈμ΄ λ κ°λ₯μ±μ΄ ν¬λ―λ‘, λ°λμlet,constν€μλλ₯Ό μ¬μ©νμ¬ λ³μλ₯Ό μ μΈν λ€μ μ¬μ©νλλ‘ νλ€.
strict mode ?use strict;λ₯Ό μΆκ°νλ©΄ ν΄λΉ ν¨μμ μ€μ²© ν¨μμ μ μ©λλ€.use strict;λ₯Ό μΆκ°νλ©΄ ν΄λΉ μ€ν¬λ¦½νΈ μ μ²΄μ μ μ©λλ€.// βuse strictβ; μ μμ μ λμ μΆκ°ν  κ²½μ°
const number = () => {
// βuse strictβ; ν¨μ λͺΈμ²΄μ μ λμ μΆκ°ν  κ²½μ°
x = 100;
}
number();
strict modeκ° λ°μμν€λ μλ¬ReferenceErrorλ₯Ό λ°μμν¨λ€.delete μ°μ°μλ‘ λ³μ, ν¨μ, λ§€κ°λ³μλ₯Ό μμ  μ SyntaxErrorλ₯Ό λ°μμν¨λ€.SyntaxErrorλ₯Ό λ°μμν¨λ€.with λ¬Έμ μ¬μ©: SyntaxErrorλ₯Ό λ°μμν¨λ€.strict mode μ μ©μ μν λ³νthis: ν¨μλ₯Ό μΌλ° ν¨μλ‘μ νΈμΆνλ©΄ thisμ undefinedκ° λ°μΈλ© λλ€.arguments κ°μ²΄: λ§€κ°λ³μμ μ λ¬λ μΈμλ₯Ό μ¬ν λΉν΄λ `arguments κ°μ²΄μ λ°μλμ§ μλλ€.