Global Scope
block λ°μ μ‘΄μ¬νλ λ³μλ€μ λ§νλ€. block λ°μ μκΈ° λλ¬Έμ μ΄λ ν μ½λλ μ λΆ μ κ·Όμ΄ κ°λ₯νλ€.
Block Scope
local λ³μλΌκ³ λ λΆλ¦¬μ°λ©°, block μμ μ‘΄μ¬νλ λ³μλ€μ λ§νλ€. μ€μ§ {} μμ μλ μ½λμλ§ μ κ·Όμ΄ κ°λ₯νλ€.
const logSkyColor = () => {
let color = 'blue';
console.log(color); // Prints "blue"
};
logSkyColor(); // Prints "blue"
console.log(color); // throws a ReferenceError
JavaScript
볡μ¬
Scope Pollution
μ μ λ³μκ° λ§κ±°λ, μ§μ λ³μμ μ μ λ³μμ λ³μλͺ
μ΄ κ²ΉμΉλ€λ©΄ Scope Pollution μ΄ λ°μν μ μλ€.
let num = 50;
const logNum = () => {
num = 100; // Take note of this line of code
console.log(num);
};
logNum(); // Prints 100
console.log(num); // Prints 100
JavaScript
볡μ¬
ν¨μμμμ λ³μλ₯Ό μ¬μ μ ν λλ λ³μνμ
μ λΆμ΄μ§ μλλ€.
Practice Good Scoping
const logSkyColor = () => {
const dusk = true;
let color = 'blue';
if (dusk) {
let color = 'pink';
console.log(color); // Prints "pink"
}
console.log(color); // Prints "blue"
};
console.log(color); // throws a ReferenceError
JavaScript
볡μ¬