μ μλ³μμ μ§μλ³μ
λ³μλ μ€κ΄νΈ(ν¨μ λΈλ‘){ }λ₯Ό κΈ°μ€μΌλ‘ λ³μ μ μΈ μμΉμ λ°λΌ μ μλ³μμ μ§μλ³μλ‘ λλλ€.
μ§μ λ³μλ λΈλ‘ λ΄μμλ§ μ¬μ© κ°λ₯ν λ°λ©΄, μ μλ³μλ λΈλ‘ λ°κΉ₯μ΄λ μμͺ½μ΄λ μμ λ‘κ² μ¬μ© κ°λ₯νλ€.
μ μλ³μμ μ§μλ³μμ μ μΈ μμΉ
μ΄λ κ² λΈλ‘ { }μ μν΄ λ³μ λ²μκ° λ¬λΌμ§λ κ²μ λ³μμ scope(μ€μ½ν)λΌκ³ νλ€.
μ μλ³μ | μ§μλ³μ |
---|---|
var λ³μ; function ν¨μ () { } |
function ν¨μ () { var λ³μ; } |
μμ 01
μλμ μμμμλ ν¨μ λΈλ‘ λ΄μ kor λ³μκ° μ μλ³μμ΄λ©° getScore() ν¨μλ₯Ό νΈμΆνκ² λλ©΄ kor λ³μ κ°μ΄ 90μμ 100μΌλ‘ λ³κ²½λλ€.
var kor = 90;
function getScroe() {
kor = 100; // μ μλ³μ : λ°κΉ₯ var kor = 90μ 100μΌλ‘ λ³κ²½νκ±°μ
console.log(kor); // κ·Έλμ 100 μΆλ ₯λ¨
}
getScore();
console.log(kor); // 100
μμ 02
μλμ μμμμλ ν¨μ λΈλ‘ λ΄μ kor λ³μλ₯Ό varλ‘ μ μνκ³ , varλ‘ μ μΈλ λ³μλ μ§μλ³μκ° λμ΄ λΈλ‘ λ°κΉ₯μ μ μλ³μ korκ³Ό λ€λ₯Έ λ³λμ λ³μκ° λλ€.
var kor = 90; // μ μλ³μ
function getScroe() {
var kor = 100; // μ§μλ³μ
console.log(kor); // 100
}
getScore();
console.log(kor); // μ¬κΈ°μ μ μλ³μκ° μΆλ ₯λλ―λ‘ 90
μμ 03
ν¨μ λΈλ‘ μμ μ§μλ³μλ λ°λμ varλ‘ μ μΈν΄μ€μΌ νλ©° ν¨μμ μ§μλ³μλ ν¨μ λΈλ‘ λ°κΉ₯μμ μ¬μ© λΆκ°λ₯νλ€!
function getScroe() {
var kor = 100;
console.log(kor); // 100
}
getScore();
console.log(kor); // error
ν¨μ λ 벨 μ€μ½νμ λΈλ‘ λ 벨 μ€μ½ν
varλ ν¨μ λΈλ‘ λ΄μμλ§ μ§μλ³μκ° μ‘΄μ¬νλ©° λΈλ‘μ΄λ μ μ΄λ¬Έ λΈλ‘μμλ
μ§μλ³μκ° μ‘΄μ¬νμ§ μλλ€.
letκ³Ό constλ λΈλ‘μ΄λ μ μ΄λ¬Έ λΈλ‘μμλ μ§μλ³μ μ μΈ κ°λ₯νλ€.
μμ1 - var :
var num = 10;
{
var num = 20; // numμ μ μλ³μ
console.log(num); // 20 μΆλ ₯
}
console.log(num); // 20 μΆλ ₯
μμ2 - let :
let num = 10;
{
let num = 20; // numμ μ§μλ³μ
console.log(num); // 20 μΆλ ₯
}
console.log(num); // 10 μΆλ ₯
μμ3 - const :
const num = 10;
{
const num = 20; // numμ μ§μλ³μ
console.log(num); // 20 μΆλ ₯
}
console.log(num); // 10 μΆλ ₯
μμ4 - var + ifλ¬Έ :
var num = 10;
if(num === 10) { // numμ΄ μ«μ 10κ³Ό μμ ν μ±μ§κΉμ§ μΌμΉνλκ°?
let sum = 20; // μ μλ³μ
}
console.log(sum); // 20 μΆλ ₯
μμ5 - let + ifλ¬Έ :
sum λ³μλ₯Ό λΈλ‘ λ°μμλ νΈμΆ κ°λ₯νλ μ μ΄λ¬Έ λΈλ‘ μμμ letμΌλ‘ μ μΈλ λ³μλ μ§μλ³μμ΄κΈ° λλ¬Έμ μ μ΄λ¬Έ λΈλ‘ λ°μμ νΈμΆ λΆκ°λ₯ν¨.
let num = 10;
if(num === 10) { // numμ΄ μ«μ 10κ³Ό μμ ν μ±μ§κΉμ§ μΌμΉνλκ°?
let sum = 20; // μ§μλ³μ
}
console.log(sum); // error μΆλ ₯
ν¨μμ μ§μ/μ μλ³μ + λΈλ‘μ μ§μλ³μ
// ν¨μμ μ μλ³μ
var sum1 = 10;
function add1() {
sum1 = 20;
}
add1();
console.log('μ μ' + sum1); // 20
// ν¨μμ μ§μλ³μ
var = sum2 = 30;
function add2() {
var sum2 = 40;
console.log('μ§μ' + sum2); // 40
}
add2();
console.log('μ μ' + sum2); // 30
// λΈλ‘μ μ§μλ³μ
var num1 = 50;
if(num1 === 50) {
var num1 = 60;
}
console.log('μ μ' + num1); // 60
let num2 = 70;
if(num2 === 70) {
let num2 = 80;
console.log('μ§μ' + num2); // 80
}
console.log('μ μ' + num2); // 70
'JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] λ°°μ΄ λ©μλ μμ보기 (8) | 2022.08.11 |
---|---|
[JavaScript] μμ μ ν λ©μλ μμ보기 (8) | 2022.08.05 |
[JavaScript] ν¨μμ μ’ λ₯μ μ¬μ©λ°©λ² (10) | 2022.07.26 |
[JavaScript] λ°μ΄ν° νμ μ’ λ₯ μμ보기 (10) | 2022.07.25 |
[JavaScript] 쑰건문μ μ’ λ₯μ μ¬μ©λ°©λ² (7) | 2022.07.25 |
λκΈ