1. var-let-const ์ ์ฐจ์ด์
๋ช ๋ น์ด | ๋ป |
var name = "value" | ์ฌ ์ ์ธ๊ฐ๋ฅ, ์ฌ ํ ๋น ๊ฐ๋ฅ |
let name = "value" | ์ฌ ์ ์ธ ๋ถ๊ฐ, ์ฌ ํ ๋น ๊ฐ๋ฅ |
const name = "value" | ์ฌ ์ ์ธ ๋ถ๊ฐ, ์ฌ ํ ๋น ๋ถ๊ฐ -> ํ๋ฒ ์ ์ธํ๋ฉด ๊ทธ ๋ค๋ก ์์ ์ทจ๊ธ |
/*var*/
//์ต์ด ์ ์ธ
var a = "apple"
// ์ฌ ์ ์ธ (๊ฐ๋ฅ)
var a = "array"
//์ฌ ํ ๋น (๊ฐ๋ฅ)
var a = "age"
/*let*/
//์ต์ด ์ ์ธ
let a = "apple"
// ์ฌ ์ ์ธ (์๋ฌ)
let a = "array"
//Uncaught SyntaxError: Identifier 'title' has already been declared
//์ฌ ํ ๋น (๊ฐ๋ฅ)
let a = "age"
/*const - ํ ๋ฒ ์ ํด์ง๋ฉด, ํ๋ก๊ทธ๋จ ๋๋ ๋๊น์ง ์์์ฒ๋ผ ์ฐ๋ ๊ฒ์.*/
//์ต์ด ์ ์ธ
const a = "apple"
// ์ฌ ์ ์ธ (์๋ฌ)
const a = "array"
//Uncaught SyntaxError: Identifier 'title' has already been declared
//์ฌ ํ ๋น (์๋ฌ)
const a = "age"
//Uncaught SyntaxError: Identifier 'title' has already been declared
2. Boolean
a= true
b = false
3. Undefined์ Null ์ ์ฐจ์ด
Undefined์ Null์ ์๋ฏธ๊ฐ ๊ฐ๋ค. ๋ ๋ค ์ด๋ค ๋ณ์์ ๊ฐ์ด ํ ๋น์ด ์๋์ด ์์์ ๋ํ๋ธ๋ค.
๋์ ์ฐจ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
Undefined๋ ๊ฐ๋ฐ์๊ฐ ์ด๋ค ๋ณ์์ ๋ํด ์ ์ธ๋ง ํ๊ณ ํ ๋น์ ์ ํ์์, ๊ทธ ๋ณ์์ ์๋์ผ๋ก ๋ฃ์ด์ง๋ ๊ฐ์ด๋ค.
๋ฐ๋ฉด, Null์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ฃ์ด์ค์ผ ํ๋ค. ์ง์ ๋ฃ์ง ์์ผ๋ฉด ์ ์ฐ์ธ๋ค.
์ด ์ฐจ์ด์ ์ ์ด์ฉํด, JS์๋ ์๋ฌต์ ์ธ ๋ฃฐ์ด ์๋ค.
๋ง์ฝ ๋ณ์ a์ ๊ฐ์ ์ถ๋ ฅํด๋ณด๋, Null์ด ๋์๋ค๋ฉด, ๊ฐ๋ฐ์๊ฐ a ์์ ๊ฐ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์์์ผ๋, '์ผ๋ถ๋ฌ' ๊ฐ์ ์ ๋ฃ์ ๊ฒ์ด๋ค. ๋ฐ๋ฉด undefined๊ฐ ๋์๋ค๋ฉด, ๊ฐ๋ฐ์๊ฐ ๊ฐ์ ํ ๋น ํ์ง ์์๋จ ๊ฑธ ์๊ณ ์ง๋์ณค๋ค๋ ๊ฒ์ด๋ค.
**ํจ์ ๋์จ ๊ฒ**
setTimeout(function() {}, 1000)
: function {}์์ ์๋ ๋ช ๋ น๋ฌธ ํ๋ ๋๋ด๊ณ ๋ค์ ๊ป๋ก ๋์ด๊ฐ ๋, 1์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
1000 ์ ๋จ์๋ ms ์ด๋ค.
4. ์ค์ค๋ก ํด๋ณด๊ธฐ