์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ ์์์ ๋ณด๋ฉด์ ์ํ๋ก ์ ๋ฆฌํ๋ ๋ด์ฉ์ ๊ฐ๋จํ๊ฒ ์ ์ด๋์ ๊ฒ์ด๋ค.
[ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ ์์ ]
https://www.notion.so/277f2906743742ae8f19b6494581058f
์ ์ธ
- var
: ๋ณ์๋ฅผ ์ ์ธ. ์ถ๊ฐ๋ก ๋์์ ๊ฐ์ ์ด๊ธฐํ.
- let
: ๋ธ๋ก ๋ฒ์(scope) ์ง์ญ ๋ณ์๋ฅผ ์ ์ธ. ์ถ๊ฐ๋ก ๋์์ ๊ฐ์ ์ด๊ธฐํ.
- const
: ๋ธ๋ก ๋ฒ์ ์ฝ๊ธฐ ์ ์ฉ ์์๋ฅผ ์ ์ธ.
๊ฐ์ฒด
- window ๊ฐ์ฒด
: ์ต์์ ๊ฐ์ฒด, ๋ฉ์๋์ ์ฌ์ฉ ์ ์๋ต ๊ฐ๋ฅ
ex) window.์์ฑ="๊ฐ";
window.๋ฉ์๋();
window.๋ฉ์๋(์ธ์ ๊ฐ);
.
- document ๊ฐ์ฒด
: window ๊ฐ์ฒด์ ํ์ ๊ฐ์ฒด
.
- ๊ฐ์ฒด ๋ฆฌํฐ๋ด
: ์ค๊ดํธ({})๋ก ๋ฌถ์ธ 0๊ฐ ์ด์์ธ ๊ฐ์ฒด์ ์์ฑ๋ช
๊ณผ ๊ด๋ จ ๊ฐ ์ ๋ชฉ๋ก. ~๋ฌธ์ ์์์ ์ฌ์ฉX.
ํจ์
function ํจ์๋ช
(arg1, arg2) { //ํจ์ ์ ์
//ํจ์ ๋ณธ๋ฌธ
}
ํจ์๋ช
(arg1 ๊ฐ, arg2 ๊ฐ); //ํจ์ ํธ์ถ
ํด๋์ค
class MyClass {
// ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ ์ํ ์ ์์
constructor() { ... }
method1() { ... }
method2() { ... }
method3() { ... }
...
}
- ํด๋์ค ์ ์ธ์ ํธ์คํ
๋์ง ์๋๋ค.
- ํด๋์ค ์ ์ธ์ let ์ ์ธ๊ณผ ๊ฐ์ด ํ๋ํ๋ค.
- ํด๋์ค ์ ์ธ์ ๋ชจ๋ ์ฝ๋๋ strict ๋ชจ๋๋ก ์๋ ์คํ๋๋ค. ํด๋์ค์ strict ๋ชจ๋๋ฅผ ๊ฑฐ๋ถํ ์์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
- ๋ชจ๋ ๋ฉ์๋๋ ๋ด๋ถ [[Construct]] ๋ฉ์๋๊ฐ ์์ผ๋ฉฐ new๋ก ํธ์ถํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
- new๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ํด๋์ค ์์ฑ์๋ฅผ ํธ์ถํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ํด๋์ค ๋ฉ์๋ ๋ด์์ ํด๋์ค ์ด๋ฆ์ ๋ฎ์ด ์ฐ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
.
.
.
! ํด๋์ค์ ํจ์๋ ์ ์ธ๊ณผ ํํ์์ด๋ผ๋ ๋๊ฐ์ง ํ์์ ๊ฐ์ง๊ณ ์๋ค๋ ์ ์์ ๋น์ทํ๋ค.
- ํจ์์ ํด๋์ค ์ ์ธ์ ์ ์ ํ ํค์๋ (๊ฐ๊ฐfunction ๋๋class)์ ์๋ณ์๋ก ์์๋๋ค.
- ํจ์๋ function ๋ค์์ ์๋ณ์๋ฅผ ํ์๋กํ์ง ์๋ ํํ์ ํํ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ๋น์ทํ๊ฒ ํด๋์ค๋ class ๋ค์์ ์๋ณ์๋ฅผ ํ์๋กํ์ง ์๋ ํํ์ ํํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.