๋ฐ์ํ
โญ var
1. variable(๋ณ์)
2. ์ฌ์ ์ธ ๊ฐ๋ฅ
ex)
var a = 1;
console.log(a); // 1
var a = 10;
console.log(a); // 10
3. ์ฌ์ ์ธ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ ์ ์ธํ ๋ณ์ ์ด๋ฆ์ ๋ค๋ฅธ ๊ฐ์ ๋ฃ์ด ์ ์ธํ๋ฉด ๋ค๋ฅธ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
ex)
var name = 'cat';
console.log(name); // cat
var name = 'dog';
console.log(name); // dog
4. ์ฌํ ๋น ๊ฐ๋ฅ
ex)
var a = 1;
console.log(a); // 1
a = 10;
console.log(a); // 10
5. ํธ์ด์คํ (Hoisting) ๊ฐ๋ฅ
var์ ์ ์ธ ๋จ๊ณ์ ์ด๊ธฐํ ๋จ๊ณ๊ฐ ํ๋ฒ์ ์ด๋ฃจ์ด์ง๋ค.
๐ฅ ํธ์ด์คํ (Hoisting)์ด๋?
ํจ์ ์์ ์๋ ์ ์ธ๋ค์ ๋ชจ๋ ๋์ด์ฌ๋ ค์ ํด๋น ํจ์ ์ ํจ ๋ฒ์์ ์ต์๋จ์ ์ ์ธํ๋ ๊ฒ์ ๋งํ๋ค.
ex)
console.log(name); // Undefined
var name;
name = cat;
console.log(name); // cat
6. ์ฌ์ฉ ๋ฒ์(scope)
function ๊ธฐ์ค์ผ๋ก ๋ฒ์๊ฐ ์ง์ ๋๋ค.
โญ let
1. ES6 ์ดํ var์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ์ถ๊ฐ๋ ๋ณ์ ์ ์ธ ๋ฐฉ์.
2. ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ
ex)
let a = 1;
console.log(a);
let a = 5;
console.log(a); // Identifier 'a' has already been declared.
// ์๋ณ์ 'a'๊ฐ ์ด๋ฏธ ์ ์ธ๋์ด์๋ค
3. ์ฌํ ๋น ๊ฐ๋ฅ
ex)
let a = 1;
console.log(a);
a = 5;
console.log(a); // 5
4. ํธ์ด์คํ (Hoisting) ๊ฐ๋ฅ. but ์ฐธ์กฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
let์ ์ ์ธ ๋จ๊ณ์ ์ด๊ธฐํ ๋จ๊ณ๊ฐ ๋ถ๋ฆฌ๋์ด ์ด๋ฃจ์ด์ง๋ค.
ex)
console.log(name); // Error : Uncaught ReferenceError: bar is not defined.
let name;
5. ์ฌ์ฉ ๋ฒ์(scope)
๋๊ดํธ {} ๊ธฐ์ค์ผ๋ก ๋ฒ์๊ฐ ์ง์ ๋๋ค.
โญ const
1. ES6 ์ดํ var์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ์ถ๊ฐ๋ ๋ณ์ ์ ์ธ ๋ฐฉ์.
2. constant(์์)
3. ์ฌ์ ์ธ, ์ฌํ ๋น ๋ชจ๋ ๋ถ๊ฐ๋ฅ
์ ์ธํ๋ฉด์ ์ด๊ธฐํ๋ฅผ ํด์ค์ ๊ทธ ์ดํ์ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
4. ์ฌ์ฉ ๋ฒ์(scope)
๋๊ดํธ {} ๊ธฐ์ค์ผ๋ก ๋ฒ์๊ฐ ์ง์ ๋๋ค.
๋ฐ์ํ
'JavaScript > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ๋ค์ํ ๋ฐฐ์ด ๋ฉ์๋ (0) | 2021.11.18 |
---|---|
์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด(Array-Like Object) (0) | 2021.11.18 |
์์ ๋ณต์ฌ, ๊น์ ๋ณต์ฌ (0) | 2021.11.17 |
immutable.js, baobab.js (0) | 2021.11.17 |
arrow function์์ { }(์ค๊ดํธ)๊ฐ ์๊ณ ์๊ณ ์ ์ฐจ์ด (0) | 2021.11.16 |
๋๊ธ