๐ ์๋ฐ์คํฌ๋ฆฝํธ ์์ํ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์์ํ๊ฒ ๋ ์ด์ ๋ ํ๋ก ํธ์๋ ๊ด์ฌ์ด ์๊ธฐ๋ฉด์ ๋ฐฑ,ํ๋ก ํธ์๋ ์ ๋ถ ๋ง๋ค๊ณ ์ถ์ด์ก๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณต๋ถ๋ ๊ฐ์๋ ๊ธ์ ์กฐ๊ธ๋ณด๋ค๊ฐ DOIT์ด๋ผ๋ ์๋ฆฌ์ฆ์ '๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ์ ์ ์'์ผ๋ก ์์ํ๋ค. ์๋ฌด๋ ์ ์ฝ์ ๊ธฐ์ด ๊ฐ๋ ์ ๋ํ ๊ธ์ ์ฐ๊ฒ ๋ ์ด์ ๋ ์ผ์ ํ๋๋ผ ํ๋ค๋ค๊ณ ํ๊ณ๋๋ฉด์ ๊ฒ์๋ฌ์ง๋๋ฐ ํ๋ฃจ์ดํ ์ฌ๋๋ผ๋ ๊พธ์คํ ์ด์ด๊ฐ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์ด ํ์ ๊ฐ๋ฅํ๋ค๋ฉด ํ์ ์คํฌ๋ฆฝํธ๋ ์ข ํด๋ณด๊ณ Vue.js ๋ฅผ ๋ฐฐ์์ ํ๋ก ํธ๋ฅผ ์ง์ ์ง๋ณด๊ณ ์ถ๋ค. ๋ฐฑ์๋๋ ์ฌ๋ฐ์์ง๋ง ํ๋ก ํธ๋ ๋๋ฆ์ ๋งค๋ ฅ์ด ์๋ ๊ฒ ๊ฐ๋ค. ๋ค์ํ ์์๋ค๋ก ํ๋ฉด์ ์์๊ฒ ๊พธ๋ฉฐ๋ณด๋๊ฒ๋ ์ฌ๋ฐ์ ๊ฒ ๊ฐ๋ค. ์ปดํฌ๋ํธ๋ ์ํฐ์ด๋ ๋ชจ๋ฅด๋ ๊ฐ๋ ์ด ์์ง ๋ง์ง๋ง ์กฐ๊ธ์ฉ ํ๋ค๋ณด๋ฉด ํ์คํ์ด ๋์ด ์์ ๊ฒ์ด๋ค. ใ ใ Vue ๋ฅผ ํ๊ณ ์ถ์ ์ด์ ๋ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ ค ํ๋ค๊ฐ ์์ฆ Vue๋ฅผ ์ฐ๋ ํ์ฌ๊ฐ ๋ง์์ง ๊ฒ์ผ๋ก ๋ณด์ฌ์ ์์๋ณด์๋๋ ์๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ํ๊ธฐ์ Vue๊ฐ ์ ์ ํ ๊ฒ ๊ฐ์ ๋ณด์๋ค. ๋ฆฌ์กํธ๊ฐ ์์ง์ ํ๋ก ํธ ์์ฅ์ ์ฅ์ ํ๊ณ ์์ง๋ง... ํผ์ ํ๋ก์ ํธ๋ ํ ์ ์์๋ผ๋ฉด Vue๋ฅผ ๋ฐฐ์ฐ๋๊ฒ ์ข์ ๊ฒ๊ณ ์ฌ๋ฌ๊ฐ์ง ๊ฐ๋ค๋ถ์ด๊ธฐ์๋ Vue๊ฐ ์ข๋ค๊ณ ํ๋ค.
๐ ์ํฌ๋ง์คํฌ๋ฆฝํธ? ES6?
์ฐ์ ๋ค์ด๊ฐ๊ธฐ์ '์๋ฐ์คํฌ๋ฆฝํธ' ์ด๋ฆ์ ์ '์๋ฐ'๊ฐ ๋ค์ด๊ฐ์๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น?
์ ํ ๋น์ทํ ๋ฉด๋ ์๊ณ ์๋ฐ๋ฅผ ํ ๋๋ก ๋ง๋ ์ธ์ด๋ ์๋๋ฐ ์ด๋ฆ์ ์๋ฐ๊ฐ ๋ค์ด๊ฐ๋ ์ด์ ๋ ๋ฐ๋ก์๋ค. ์ฐ์ ์ธํฐ๋ท ์ด์ฐฝ๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ ์ธ '๋ผ์ด๋ธ์คํฌ๋ฆฝํธ'๋ฅผ '๋ท์ค์ผ์ดํ(Netscape)๋ผ๋ ํ์ฌ๊ฐ ๊ฐ๋ฐํ๋ค. ๊ทธ๋ฌ๋ค '์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ'๊ฐ ๋ผ์ด๋ธ์คํฌ๋ฆฝํธ์ ๊ฐ๋ฐ๊ถ์ ๋๊ฒจ๋ฐ์๋๋ฐ, ๊ทธ ํ์ฌ๊ฐ '์๋ฐ(java)'๋ฅผ ๋ง๋ ํ์ฌ๋ผ ๊ทธ ์ด๋ฆ์ ๋ฐ์ '์๋ฐ์คํฌ๋ฆฝํธ'๊ฐ ๋๊ฒ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฅผ ๋ '์ํฌ๋ง์คํฌ๋ฆฝํธ(ECMAScript)'๋ผ๊ณ ๋ ๋ง์ด ํ๋ค๋๋ฐ ๊ทธ ์ด์ ๋ ์๊น '๋ผ์ด๋ธ์คํฌ๋ฆฝํธ'๋ฅผ ๋ง๋ '๋ท์ค์ผ์ดํ'์์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ ๊ท๊ฒฉ์ ํ์คํํ๊ธฐ ์ํด '์ ๋ฝ์ปดํจํฐ์ ์กฐ์ฐํฉ(ECMA)'์ ์ ์ถํ๋๋ฐ, ์ดํ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์คํฌ๋ฆฝํธ ํ์ค์ผ๋ก ์ฑํ๋๋ฉด์ ๊ณต์ ์ด๋ฆ์ด '์ํฌ๋ง์คํฌ๋ฆฝํธ'๋ก ์ ํด์ง ๊ฒ์ด๋ค.
๊ทธ ์ดํ ์ํฌ๋ง์คํฌ๋ฆฝํธ๋ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด์ ์ ๊ทธ๋ ์ด๋ ๋๋๋ฐ ๊ทธ๋๋ง๋ค edition์ด ๋ฌ๋ ค์ ES2, ES3,... ์ด๋ ๊ฒ ์ด์ด์ก๋๋ฐ ์ํฌ๋ง์คํฌ๋ฆฝํธ์์ํ์์ ๋งค๋ ์ ๊ทธ๋ ์ด๋ ๋๋๊น ์ด๋ฆ๋ค์ ๋ ๋๋ฅผ ๋ถ์ฌ์ '์ํฌ๋ง์คํฌ๋ฆฝํธ 2015' ๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋์๋ค. ๊ทธ๋์ ES6๋ผ๊ณ ๋ ํ๊ณ ์ํฌ๋ง์คํฌ๋ฆฝํธ 2015๋ผ๊ณ ๋ ํ๋ค.
๊ทธ๋ผ ์ํฌ๋ง์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ธ๊ฑธ๊น? ์๋๋ค. ์ํฌ๋ง์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์คํ๋ ์คํฌ๋ฆฝํธ ์ธ์ด์ด๋ค. ๊ทธ๋์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ํฌ๋ง์คํฌ๋ฆฝํธ์ ํ์ค์ฌ์์ ๋ฐ๋ฅด๋ ๊ฐ์ฅ ์ ๋ช ํ ์ธ์ด์ด์ง๋ง, ๊ทธ์ธ์๋ ์ฌ๋ฌ ์คํฌ๋ฆฝํธ ์ธ์ด๊ฐ ์๋ค.
๐ฅ ๊ธฐ๋ณธ ์ ์ถ๋ ฅ
โถ๏ธ alert()
- ์๋ฆผ์ฐฝ (ํ์ธ๋ง ๊ฐ๋ฅ)
- ๊ดํธ ์์ ๋ด์ฉ ์์ฑ
โถ๏ธ confirm()
- 'ํ์ธ' or '์ทจ์' ๊ฐ ๊ฐ๋ฅํ ์ฐฝ
- ํ์ธ ํด๋ฆญํ๋ฉด true, ์ทจ์ ํด๋ฆญํ๋ฉด false ๋ฆฌํด
- ๊ดํธ์์ ๋ด์ฉ ์์ฑ
โถ๏ธ prompt()
- ์ฌ์ฉ์๊ฐ ๊ฐ์ ์ ๋ ฅํ ์ ์๋ ์ฐฝ
- ์ ๋ ฅํ 'ํ์ธ' or '์ทจ์'
- ๊ดํธ์์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋ด์ฉ ์์ฑ
- ๊ฐ ์ ๋ ฅ ํ ํ์ธ ํด๋ฆญํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ ๋ฆฌํด
- ๊ฐ์ ์ ๋ ฅํ์ง ์์ผ๋ฉด ๋น ๊ฐ ๋ฆฌํด
- ์ทจ์๋ฅผ ๋๋ฅด๋ฉด null ๊ฐ ๋ฆฌํด
- prompt(๋ด์ฉ, ๊ธฐ๋ณธ๊ฐ) ์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ ์ง์ ๊ฐ๋ฅ
โถ๏ธ console.log()
- ์ฝ์ ์ฐฝ์ ๋ด์ฉ ํ์
โณ๏ธ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฌธ์์ด์ ๋ณ์๋ฅผ ์ฝ์ ํ ๋ ์ฐ๊ฒฐ์ฐ์ฐ์ '+'๋ฅผ ์ฌ์ฉํ์ง๋ง 'ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด' ๋ฐฉ์์ผ๋ก๋ ๊ฐ๋ฅ
ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด ๋ฐฉ์์ด๋?
ํฐ๋ฐ์ดํ(" ") ๋์ ๋ฐฑํฑ(` `)์ ์ด์ฉํด์ ๋ฌธ์์ด์ ๊ฐ์ธ๊ณ ๋ณ์๋ ${๋ณ์๋ช }์ ์ด์ฉํด์ ๋ฌธ์์ด ์์ ์ฝ๊ฒ ๋ฃ๋ ๊ฒ์ด๋ค. ๋ ์ง๊ด์ ์ด์ด์ ํ๋ฆด ํ๋ฅ ์ด ๋ฎ์์ง๊ณ ๋์ด์ฐ๊ธฐ, ์ด์ค์ผ์ดํ ๋ฌธ์๋ฅผ ๊ทธ๋๋ก ํ์ํ ์ ์์ด์ ํธ๋ฆฌํ๋ค.
name = "wisejade"
class = "javascript"
console.log(`${name}์ ${class}๋ฅผ ๊ณต๋ถ์ค์
๋๋ค.`)
โถ๏ธ document.write()
- ๊ฐ๋จํ ๋ด์ฉ์ ์น ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ณด์ฌ์ค ๋ ์ฌ์ฉ
โ ๏ธ ๋ณ์
๋ณ์๋ ๋ค๋ฅธ ์ธ์ด๋ฅผ ๋ฐฐ์ ์ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉํ๋ฉด ๋๋ค. ์ซ์๊ฐ ์์์ฌ ์ ์๊ณ ๊ณต๋ฐฑ์ ํฌํจํ๋ฉด ์๋๋ค. ๋จ์ด ํ๋๋ก ์ด๋ฃจ์ด์ ธ์์ ๊ฒฝ์ฐ ๋ชจ๋ ์๋ฌธ์๋ก ์ฌ์ฉํ๋ฉด ๋๊ณ ์ฌ๋ฌ ๋จ์ด๋ก ์ด๋ฃจ์ด์ ธ์์ ๊ฒฝ์ฐ์ ์นด๋ฉ ํ๊ธฐ๋ฒ์ ์ฐ๊ฑฐ๋ ์ธ๋๋ฐ(_)๋ฅผ ์ฐ๋ฉด ๋๋ค.
์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ๋ณ์์ ์ฌ์ฉํด๋ ๋์ง๋ง ์ธ์ฝ๋ฉํ ๋ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ๋ง์!
๋ณ์ ์ ์ธ์ ๋ณ์๋ ์์ฝ์ด let์ ์ฌ์ฉํ๊ณ ์์๋ ์์ฝ์ด const๋ฅผ ์ฌ์ฉํ๋ค.
(var๋ ๋ง์ด ์ผ์ง๋ง ํธ์ด์คํ ๋ฌธ์ ๋๋ฌธ์ ์ด์ ์์ด๋ค.)
๐ฎ ์๋ฃํ
์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ฃํ์ ํฌ๊ฒ ์์ํ์ (Primitive type)๊ณผ ๊ฐ์ฒด(Object)๋ก ๋๋๋ค.
์์ ์ ํ์ ํ๋์ ๊ฐ๋ง ์ ์ฅํ๋ ์๋ฃํ์ผ๋ก number, string, boolean, undefined, null, symbol ์ด ์๋ค.
์ด์ธ์ ๋ชจ๋ ๊ฑด ๊ฐ์ฒด์ด๋ค.
โถ๏ธ typeof()
- ์๋ฃํ์ ์์ ์๋ ํจ์
- ๊ดํธ ์์ ๊ฐ์ด๋ ๋ณ์๋ฅผ ๋ฃ์ผ๋ฉด ์ด๋ค ์๋ฃํ์ธ์ง ์๋ ค์ค๋ค.
โณ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ค์ ๊ณ์ฐ์ ์ ํฉํ์ง ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ค์ ์ ์ ์๋ฃํ ๋๋์ง ์๊ณ ๋ชจ๋ ์๋ numberํ์ผ๋ก ์ ์ฅ๋๋ค. ํ์ง๋ง ์ค์๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ ๋๋ฌธ์ ์ค์ ๊ณ์ฐ์ด ํ๋ฆด ์๋ ์๋ค.
โถ๏ธ NAN
- Not a Number (์ซ์๊ฐ ์๋) ์ ์๋ฏธ
- ๋ณ์๋ฅผ ์ ์ธ๋ง ํ๊ณ ๊ฐ์ด ํ ๋น๋์ง ์์ ์ํ์์ ๊ทธ ๋ณ์๋ฅผ ์ฐ์ฐ์ ์ฌ์ฉํ ๊ฒฝ์ฐ NaN ๊ฐ์ด ๋จ
โถ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ์์ falsy๋ก ์ธ์ ํ๋ ๊ฐ
- 0
- ""
- NaN
- undefined
- null
โถ๏ธ undefined vs null
- undefined๋ ๊ฐ์ด ํ ๋น๋์ง ์์์ ๋ ๋ณ์์ ์ด๊ธฐ๊ฐ
- null์ ๋ณ์์ ๊ฐ์ด ์๊ฑฐ๋ ์ ํจํ์ง ์๋ค๋ ์๋ฏธ๋ก, ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐํํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ํ ๋นํ ์ ์๋ ๊ฐ
๐ ๊ฐ์ฒด(Object)
- ์ค๊ดํธ({}) ์์ key, value ์์ผ๋ก ์ฌ๋ฌ๊ฐ๋ฅผ ๋ง๋ค ์ ์์
let object1 = {
name : "table",
color : "brown",
height : 100
}
- key๋ ๋ฌธ์์ด์ด์ง๋ง ํฐ๋ฐ์ดํ ์ฌ์ฉํ์ง ์์
- ํค:๊ฐ ์์ ๊ฐ์ฒด์ ํ๋กํผํฐ(property)๋ผ๊ณ ํจ
- ๊ฐ์ฒด ๊ฐ ์ ๊ทผํ๊ธฐ
object1.name
object1["name"]
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋ง์ด ์ฌ์ฉํ๋ค.
'Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] DOM์ ๊ธฐ์ด (0) | 2023.08.26 |
---|---|
์๋ฐ์คํฌ๋ฆฝํธ(JS) ๊ธฐ์ด ๊ฐ๋ (3) - ํจ์์ ์ค์ฝํ (0) | 2023.07.17 |
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ NaN ํ์ธ๋ฒ (0) | 2023.07.12 |
์๋ฐ์คํฌ๋ฆฝํธ(JS) ๊ธฐ์ด ๊ฐ๋ (2) (1) | 2023.07.10 |