JavaScript ๊ธฐ์ด
<๋ค์ด๊ฐ๊ธฐ ์ >
a=b —> b๋ฅผ a์ “ํ ๋น”ํ๋ค
ํ ๋น : “์ต์ด”์ ๋ฌด์ธ๊ฐ๋ฅผ a์ ๋ฃ๋ ํ์
์ฌํ ๋น : “๊ฐ์๊ณต๊ฐ(๋ฉ๋ชจ๋ฆฌ→๋ณ์a)”์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฃ๋ ํ์
๋ฐ์ดํฐ ํ์ : ์์๊ฐ,๊ฐ์ฒด๊ฐ
๐คIntro
|๋ธ๋ผ์ฐ์ (browser === browse;๊ฒ์ํ๋ค+er;~ํ๋ ๊ฒ)
- URL๋ก ์น(WWW)์ ํ์ํ๋ฉฐ ์๋ฒ์ ํต์ ํ๊ณ , HTML ๋ฌธ์๋ ํ์ผ์ ์ถ๋ ฅํ๋ GUI ๊ธฐ๋ฐ์ ์ํํธ์จ์ด
- ์ธํฐ๋ท์ ์ปจํ ์ธ ๋ฅผ ๊ฒ์ ๋ฐ ์ด๋ํ๋๋ก ํจ
- “์น ๋ธ๋ผ์ฐ์ ”๋ผ๊ณ ๋ ํจ
- ์ฃผ์ ๋ธ๋ผ์ฐ์
- Google Chrome, Mozilla Firefox, Microsoft Edge, Opera, Safari
|JavaScript์ ํ์์ฑ
- ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ‘๋์ ’์ผ๋ก ๋ง๋ค๊ธฐ ์ํจ
- ๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํ ์ ์๋ ์ ์ผํ ์ธ์ด
๐คBrowser
|Browser์์ ํ ์ ์๋ ์ผ
- DOM(Document Object Model) ์กฐ์ • ๋ฌธ์(HTML) ์กฐ์
- BOM(Browser Object Model) ์กฐ์ • navigator, screen, location, frames, history, XHR
- JavaScript Core (ECMAScript) • Data Structure(Object, Array), Conditional Expression, Iteration
๐คSemicolon
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธ๋ฏธ์ฝ๋ก ์ ํ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ์ธ๋ฏธ์ฝ๋ก ์ด ์์ผ๋ฉด ASI์ ์ํด ์๋์ ์ผ๋ก ์ธ๋ฏธ์ฝ๋ก ์ฝ์
๐ค๋ณ์์ ์๋ณ์
|์๋ณ์ ์ ์์ ํน์ง
- ๋ณ์(variables)
- ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ!
- ์๋ฃ๋ฅผ ์ ์ฅํ ์ ์๋ ์ด๋ฆ์ด ์ฃผ์ด์ง ๊ธฐ์ต์ฅ์
- ์ด๋ ํ ํ ๊ฐ์ง ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ถ์ธ ์ด๋ฆ
- ์ด๋ ํ ์์(๋ฉ๋ชจ๋ฆฌ)์ ๊ฐ์ ๋ฃ๋ ๊ฒ → ๊ทธ ์์์ ์ด๋ฆ์ ๋ถ์ธ ๊ฒ!
- ์๋ณ์(identifier)
- ๋ณ์๋ฅผ ๋ฐ๋์ ๋ฌธ์, ๋ฌ๋ฌ($),๋ฐ์ค(_)๋ก ์์
- ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ฉฐ, ํด๋์ค๋ช ์ธ์๋ ๋ชจ๋ ์๋ฌธ์๋ก ์์
- ์์ฝ์ด ์ฌ์ฉ ๋ถ๊ฐ๋ฅ (์์ฝ์ด : for, if, function๋ฑ)
|๋ณ์ ์ ์ธ ํค์๋(let,const)
- let
- ์ฌํ ๋น ํ ์์ ์ธ ๋ณ์ ์ ์ธ ์ ์ฌ์ฉ
- ๋ณ์ ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ
- ๋ธ๋ก์ค์ฝํ
- ์ฌํ ๋น ๊ฐ๋ฅ!
- const
- ์ฌํ ๋น ํ ์์ ์ด ์๋ ๋ณ์ ์ ์ธ ์ ์ฌ์ฉ
- ๋ณ์ ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ
- ๋ธ๋ก์ค์ฝํ
- default๋ฅผ const๋ก ํ๊ณ ์ฌํ ๋น ์ let์ผ๋ก ๊ณ ์น๋ ๊ฒ์ ์ถ์ฒ.
- ์ฌํ ๋น ๋ถ๊ฐ๋ฅ!
- (๊ฐ์ด ๋ฐ๋๋ ๊ฒ์ ๊ฐ๋ฅ (๋ฐฐ์ด์ push,pop์ด์ฉํด ๋ณ๊ฒฝ๋๋ ๊ฒ), but “=”๊ธฐํธ๋ฅผ ์ฌ์ฉํ ์ฌํ ๋น์ด ๋ถ๊ฐ)
*๋ธ๋ก์ค์ฝํ(block scope)
- if,for,ํจ์ ๋ฑ์ ์ค๊ดํธ ๋ด๋ถ๋ฅผ ๊ฐ๋ฆฌํด
- ๋ธ๋ก์ค์ฝํ๋ฅผ ๊ฐ์ง๋ ๋ณ์๋ ๋ธ๋ก ๋ฐ๊นฅ์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅ!
|์ ์ธ, ํ ๋น, ์ด๊ธฐํ
let foo //์ ์ธ
console.log(foo) //undefined
foo = 11 //ํ ๋น
console.log(foo) // 11
let bar = 0 //์ ์ธ+ํ ๋น
console.log(bar) //0
- ์ ์ธ(Declaration)
- ๋ณ์๋ฅผ ์์ฑํ๋ ํ์ ๋๋ ์์
- ํ ๋น(Assignment)
- ์ ์ธ๋ ๋ณ์์ ๊ฐ์ ์ ์ฅํ๋ ํ์ ๋๋ ์์
- ์ด๊ธฐํ(Initialization)
- ์ ์ธ๋ ๋ณ์์ ์ฒ์์ผ๋ก ๊ฐ์ ์ ์ฅํ๋ ํ์ ๋๋ ์์
|๋ณ์ ์ ์ธ ํค์๋(var)
var
- var๋ก ์ ์ธํ ๋ณ์๋ ์ฌ์ ์ธ ๋ฐ ์ฌํ ๋น ๋ชจ๋ ๊ฐ๋ฅ
- ES6 ์ด์ ์ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉ๋๋ ํค์๋
- ํธ์ด์คํ ๋๋ ํน์ฑ์ผ๋ก ์ธํด ์๊ธฐ์น ๋ชปํ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
- ๋ฐ๋ผ์ ES6 ์ดํ๋ถํฐ๋ var ๋์ const์ let์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ
- ํจ์ ์ค์ฝํ(function scope) •ํจ์์ ์ค๊ดํธ ๋ด๋ถ๋ฅผ ๊ฐ๋ฆฌํด • ํจ์ ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ ๋ณ์๋ ํจ์ ๋ฐ๊นฅ์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅ
- ํธ์ด์คํ (hoisting) • ๋ณ์๋ฅผ ์ ์ธ ์ด์ ์ ์ฐธ์กฐํ ์ ์๋ ํ์ • ๋ณ์ ์ ์ธ ์ด์ ์ ์์น์์ ์ ๊ทผ ์ undefined๋ฅผ ๋ฐํ
ํค์๋ | ์ฌ์ ์ธ | ์ฌํ ๋น | ์ค์ฝํ | ๋น๊ณ |
let | x | o | block scope | ES6๋ถํฐ ๋์ |
const | x | x | block scope | ES6๋ถํฐ ๋์ |
var | o | o | function scope | ์ฌ์ฉ X |
|let &const์ var์ ์ฐจ์ด์
1. let & const๋ ๋ธ๋ญ๋จ์ ์ค์ฝํ์ ๋ณ์๋ฅผ ์์ฑํ๋ ๋ฐ๋ฉด var๋ global scope ๋ณ์๋ฅผ ์์ฑํ๋ค.
2. var๋ ๋ณ์์ ์ฌ์ ์ธ์ ํ์ฉํ๋ค.
- let์ ์ฌํ ๋น๋ง ๊ฐ๋ฅํ๋ค.
- const์ ์ฌ์ ์ธ/์ฌํ ๋น ๋ชจ๋ ๋ถ๊ฐ๋ฅํ๋ค.
3. hoisting
- var๋ก ์ ์ธํ ๋ณ์๋ hoisting ๋ ๋ ์ ์ธ & ์ด๊ธฐํ(undefined)๊ฐ ๋์์ ์ด๋ฃจ์ด์ง๋ค.
- const / let์ ์ด๊ธฐํ ์ด์ ์ ์ ๊ทผํ๊ฒ ๋์ด ReferenceError๊ฐ ๋ฐ์ํ๋ค.
|var์ ๋จ์ — var๋ ๋์ด์ ์ฌ์ฉํ์ง ์์. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ดํดํ๋ฉด ์์ฐ์ค๋ฌ์ด ์ด์ผ๊ธฐ์ด๋ฏ๋ก ์ธ์ฐ์ง ๋ง์!
- ํจ์ ๋ ๋ฒจ ์ค์ฝํ
- var ํค์๋ ์๋ต ํ์ฉ
- ๋ณ์ ์ค๋ณต ์ ์ธ ํ์ฉ
- ๋ณ์ ํธ์ด์คํ
- ๊ธด ์๋ช ์ฃผ๊ธฐ
- ์๋ฌต์ ๊ฒฐํฉ
- ์ค์ฝํ ์ฒด์ธ ์ ์ข ์ ์ ์์น
- ๋ค์์คํ์ด์ค ์ค์ผ
'Language > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JavaScript - ๋ฐฐ์ด(Arrays) (0) | 2022.04.27 |
---|---|
JavaScript - ๋ฌธ์์ด(String) (0) | 2022.04.26 |
JavaScript - ํจ์(function) (0) | 2022.04.26 |
JavaScript - ์กฐ๊ฑด๋ฌธ (0) | 2022.04.26 |
JavaScript - ๋ฐ์ดํฐ ํ์ , ์ฐ์ฐ์ (0) | 2022.04.26 |
๋๊ธ