λ³μμ μ΄λ¦μ μλ―Ένλ€. λ©λͺ¨λ¦¬κ³΅κ°μ μ μ₯λ κ°μ λ€μμ½μ΄ μ¬μ¬μ© ν μ μλλ‘, μ μ₯λ λ©λͺ¨λ¦¬ 곡κ°μ μμ§μ μΈ μ΄λ¦μ λΆμΈ κ²μ΄λ€. μλ³μλ κ°μ΄ μλλΌ λ©λͺ¨λ¦¬μ μ£Όμλ₯Ό κΈ°μ΅νλ€. μ¦ λ©λͺ¨λ¦¬ μ£Όμμ λΆμΈ μ΄λ¦μ μλ³μλΌκ³ νλ€.
μμ€μ½λκ° ν μ€ ν μ€ μμ°¨μ μΌλ‘ μ€νλλ μμ μ 'λ°νμ' μ΄λΌκ³ νλ€. μλ°μ€ν¬λ¦½νΈμμ§μ λ°νμ μ΄μ μΈ μμ€μ½λμ νκ° κ³Όμ μμ λ³μ μ μΈμ ν¬ν¨ν λͺ¨λ μ μΈλ¬Έ (λ³μ μ μΈλ¬Έ : let, var, const, ν¨μ μ μΈλ¬Έ: function , class ν€μλ) λ±μ μμ€μ½λμμ μ°Ύμλ΄ λ¨Όμ μ€ννλ€.
console.log(score); //Q1. ??
//undefined κ° μΆλ ₯λλ€. λ³μ μ μΈλΆκ° νΈμ΄μ€ν
λμ§λ§ ν λΉμ λ°νμμμ μ΄λ€μ§κΈ° λλ¬Έμ΄λ€.
score = 80;
var score;
console.log(score); //Q2. ?? ν λΉκΉμ§ λλμ.. 80?
var x = 1;
if (true) {
var x = 10;
}
console.log(x); //Q1. μΆλ ₯λλ κ°μ? 10
// var λ μ€λ‘μ§ ν¨μμ μ½λλΈλ‘λ§μ μ§μ μ€μ½νλ‘ μΈμ νλ€.
// if λ ν¨μκ°μλκΈ° λλ¬Έμ, λΈλ‘λ΄μμ λ³μλ₯Ό μ μΈν΄λ λͺ¨λ μ μλ³μκ° λλ€.
var i = 100;
for (var i = 0; i < 5; i++) {
console.log(i); //Q2. μΆλ ₯λλ κ°μ? 01234
}
console.log(i); //Q3. μΆλ ₯λλ κ°μ? 5
//Q4. λ°μν μ μλ λ¬Έμ μ μ?
//μ μμμ 100μΌλ‘ κ°μ ν λΉνμμλ λΆκ΅¬νκ³ , for λ¬Έμμμ μ€λ³΅μ μΈμ΄ λ°μνμ¬
// μλμΉμκ² i λ³μμ κ° λ§μ λ³κ²½λκ³ λ§μλ€.!
//Q5. μμ λ μ½λ
function foo(){
let i =100;
for (let i = 0; i <5; i++){
console.log(i) // 0,1,2,3,4
}
console.log(i) // μ΄λ 100μ΄ μΆλ ₯λλ€.
}
console.log(foo); //Q1. μΆλ ₯λλ κ°μ? ref err
let foo;
console.log(foo); //Q2. μΆλ ₯λλ κ°μ? undefined
//undefined μμ§ μ μΈλ§ λμκΈ° λλ¬Έμ
foo = 1;
console.log(foo); //Q3. μΆλ ₯λλ κ°μ? 1
//1 ν λΉλ λ§μ³€κΈ° λλ¬Έμ.
//Q4. λ³μμ νΈμ΄μ€ν
μ΄ λ°μνμ§ μλ κ²μ²λΌ λμνλ let ν€μλμ νΉμ±μ?
//let μ μ μΈλ¨κ³μ μ΄κΈ°νλ¨κ³κ° λΆλ¦¬λμ΄, λ°νμλ λ³μμ μΈλ¬Έμ λλ¬ν΄μΌ μ΄κΈ°νκ° μ΄λ€μ§κΈ°λλ¬Έμ
//νΈμ΄μ€ν
μ΄ λμ§ μλκ²μ²λΌ 보μ¬μ§κΈ°λ νλ€. TDZλΌκ³ νλ€. νμ§λ§ μ€μ λ‘λ νΈμ΄μ€ν
μ΄ μΌμ΄λλ©°,
//μ΄κΈ°νμμ κΉμ§ μΌμμ μΈ μ¬κ°μ§λμ λμ΄λ κ²μ΄λ€.
let foo = 1;
{
console.log(foo); //Q1. μΆλ ₯λλ κ°μ? // ref err
let foo = 2;
}
//Q2. let ν€μλλ νΈμ΄μ€ν
μ΄ λ°μνμ§ μλ κ²μΌκΉ?
// μλλ€. λ³μ νΈμ΄μ€ν
μ΄ λ°μνμ§ μλλ€λ©΄. μ μλ³μ fooλ₯Ό μΆλ ₯ν΄μΌνλλ°. μ¬μ ν νΈμ΄μ€ν
μ΄ λ°μνμ¬ errκ° λλ€.
const person = {
name:'lee'
}
person.name = 'kim';
console.log(person) // { name: 'kim' };
//const λ³μλ κ°μ μ¬μ μΈ μ¬ν λΉμ΄ κΈμ§λλ€. μ¬κΈ°μ κΈμ§λ κΆκ³ μ μλ―Έλ‘ κ°μ μ μλ―Έλ μλλ€.
//μ¦ μ¬ν λΉμ κΈμ§ν λΏ "λΆλ³"μ 보μ₯νμ§λ μλλ€λ λ§μ΄λ€.
//primitive typeμ κ°μ ν λΉνμ κ²½μ°, λΆλ³μ±μ΄ 보μ₯λλ€.
//reference typeμ κ°μ΄ ν λΉλ κ²½μ°, κ°μ²΄λ μ¬ν λΉ μμ΄λ μ§μ λ³κ²½μ΄ κ°λ₯νκΈ° λλ¬Έμ΄λ€.
//person κ° μ체λ₯Ό μ¬ν λΉνλ κ²μ λΆκ°λ₯νλ€.