- var, let
<body>
<script>
{
let x = 2;
var y = 3;
}
console.log(y);
console.log(x);
</script>
</body>
- var๋ block scope์ด ์์ด์ ๊ดํธ์ ์๊ด์์ด ๋ถ๋ฌ๋ผ ์ ์์
- let๋ block scope์ด ์์ด์ ๋ก์ปฌ๋ณ์์ฒ๋ผ ๋๊ดํธ๋ฅผ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ ๋ถ๋ฌ๋ผ ์ ์์
<body>
<script>
var y = 2;
let x = 10;
{
let x = 2;
var y = 3;
}
console.log(y);
console.log(x);
</script>
</body>
- var๋ ์ฌ์ ์ธ์ด ๊ฐ๋ฅํ์ฌ console์ 3์ด ๋์ด
- let๋ ์ฌ์ ์ธ์ด ๋ถ๊ฐ๋ฅํ์ฌ ์ฒ์์ ์ ์ธํ 10์ด console์ ์ถ๋ ฅ๋จ
<body>
<script>
carName = "Volvo";
carName2 = "Saab";
var carName;
let carName2;
console.log(carName);
console.log(carName2);
</script>
</body>
- hoisting : ์ ์ธํ๊ธฐ ์ ์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ
- var๋ hoisting์ด ๊ฐ๋ฅํ๋, let์ hoisting์ด ๋ถ๊ฐ๋ฅํจ
- const
<body>
<script>
//1. ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐ
const PI = 3.14159265;
PI = 3.14; //TypeError: Assignment to constant variable.
//2. ์ ์ธํ ๋ ๊ฐ ๋ถ์ฌ
const PI;
PI = 3.14159265; //SyntaxError: Missing initializer in const declaration
//3. block scope ๊ฐ์ง => 10์ด ์ถ๋ ฅ๋จ
const x = 10;
{
const x = 2;
}
console.log(x);
</script>
</body>
- const๋ ๊ฐ ๋ณ๊ฒฝ์ด ๋ถ๊ฐํ๋ฉฐ, ์ฒ์์ ์ ์ธํ ๋ ๊ฐ์ ๋ถ์ฌํด์ผ ํจ. block scope๋ฅผ ๊ฐ์ ธ์ ๊ดํธ ๋ฐ์์ ๋ถ๋ฌ๋ผ ์ ์์
'JAVASCRIPT' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVASCRIPT] ๋ด์ฅํจ์ - prompt(), parseInt(), Number(), isNaN() (0) | 2021.10.31 |
---|---|
[JAVASCRIPT] ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅํจ์ - encodeURI(),encodeURIComponent() (0) | 2021.10.31 |
[JAVASCRIPT] ํจ์ - ์ต๋ช ํจ์, ํ์ดํํจ์, ์ฆ์์คํํจ์ (0) | 2021.10.29 |
[JAVASCRIPT ] for๋ฌธ (0) | 2021.10.29 |
[JAVASCRIPT] ์๋ฐ ์คํฌ๋ฆฝํธ ์์ฑ ๋ฐฉ๋ฒ (0) | 2021.10.26 |