29์ฅ: Math
- ์ํ์ ์ธ ์์์ ํจ์๋ฅผ ์ํ ์ ์ ๋ฉ์๋์ ์ ์ ํ๋กํผํฐ ์ ๊ณต, ์์ฑ์ํจ์X
Math ๋ฉ์๋
- Math.random()
- 0์์ 1๋ฏธ๋ง์ ๋์
- Math.pow()
- Math.pow(2, 3) => 2์ ์ธ์ ๊ณฑ ๋ฐํ
- Math.Max()
- Math.max(...[1, 2, 3]) // ๋ฐฐ์ด์ผ ๋๋ ์คํ๋ ๋ ์ฐ์ฐ์ ํ์ฉ
30์ฅ: Date
- ๋ ์ง์ ์๊ฐ์ ์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ๋นํธ์ธ ๊ฐ์ฒด && ์์ฑ์ํจ์
Date ์์ฑ์ ํจ์๋ก Date ๊ฐ์ฒด ์์ฑ
- new Date() -> ํ์ฌ ๋ ์ง์ ์๊ฐ์ ๊ฐ์ง Date ๊ฐ์ฒด ๋ฐํ
- Date() -> ํ์ฌ ๋ ์ง์ ์๊ฐ์ ๋ฌธ์์ด๋ก ๋ฐํ(Date ๊ฐ์ฒดX)
- new Date(dateString) -> ๋ ์ง ์๊ฐ์ ๋ํ๋ด๋ ๋ฌธ์์ด์ Date ๊ฐ์ฒด๋ก ๋ฐํ
- new Date(year, month, [daty, hour ...]) -> ์
๋ ฅํ ๊ฐ์ ๋ง๋ Date ๊ฐ์ฒด ๋ฐํ
31์ฅ: RegExp
์ ๊ทํํ์ -> ํจํด ๋งค์นญ๊ธฐ๋ฅ ์ ๊ณต, ์ผ์ ํจํด์ ๊ฐ์ง ๋ฌธ์์ด์ ์งํฉ์ ํํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ์ ์ธ์ด
32์ฅ: String
33์ฅ: Symbol
- ์ฌ๋ฒ(symbol): ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์์ ํ์
- ์ฃผ๋ก ์ ์ผํ ํ๋กํผํฐ ํค๋ฅผ ๋ง๋๋ ค๊ณ ์ฌ์ฉ
- symbol() ํจ์๋ฅผ ํตํด์๋ง ์์ฑ๊ฐ๋ฅ(์์ฑ์ํจ์X)
34์ฅ: ์ดํฐ๋ฌ๋ธ
-
์ํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ปฌ๋ ์
์ ์ดํฐ๋ ์ด์
ํ๋กํ ์ฝ์ ์ค์ํ๋ ์ดํฐ๋ฌ๋ธ๋ก ํต์ผ ์ํด
-> for ...of, ์คํ๋ ๋ ๋ฌธ๋ฒ, ๋ฐฐ์ด ๊ตฌ์กฐ๋ถํดํ ๋น ๊ฐ๋ฅ
-
์ดํฐ๋ฌ๋ธ
- Symbol.iterator
- ํ๋กํ ํ์
์ฒด์ธ์ผ๋ก ์์ ๋ฐ์ ๊ฐ์ฒด
-
์ดํฐ๋ ์ดํฐ
- Symbol.iterator ๋ฉ์๋ ํธ์ถ -> ์ดํฐ๋ ์ดํฐ ๋ฐํ(next ๋ฉ์๋ ๊ฐ์ง)
- next ๋ฉ์๋๋ ํฌ์ธํฐ ์ญํ ์ ํ๋ฉฐ, result ๊ฐ์ฒด๋ฅผ ๋ฐํํจ
- next๋ value์ done ํ๋กํผํฐ๋ฅผ ๊ฐ์ง
- value๋ ํ์ฌ ์ํ์ค์ธ ์ดํฐ๋ฌ๋ธ ๊ฐ
- done์ ์ํ ์๋ฃ ์ฌ๋ถ
-
๋นํธ์ธ ์ดํฐ๋ฌ๋ธ
- Array
- String
- Map
- Set
- DOM ์ปฌ๋ ์
- arguments
- TypedArray
-
for ...of
- ์ดํฐ๋ฌ๋ธ์ ์ํํ๋ฉฐ ์์ ๋ณ์์ ํ ๋น
- next ๋ฉ์๋๊ฐ ๋ฐํํ๋ value ๊ฐ์ ๋ณ์์ ํ ๋น
- done์ด true์ด๋ฉด ์ํ ์ข
๋ฃ
-
์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด๋ ์ดํฐ๋ฌ๋ธ ?!
- ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด -> ์ธ๋ฑ์ค๋ก ํ๋กํผํฐ ์ ๊ทผ & length ํ๋กํผํฐ ๊ฐ๋ ๊ฐ์ฒด
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด๋ ๊ฐ์ฒด์ด๋ฏ๋ก ์ดํฐ๋ฌ๋ธX, for ..of ์ฌ์ฉX
- but argumnets, NodeList, HTMLCollection ์ ์ดํฐ๋ฌ๋ธ์ด๋ฉด์ ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด
- ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด์ด์ง๋ง ์ดํฐ๋ฌ๋ธ์ด ์๋ ๊ฒ์ Array.from์ ํตํด ๋ฐฐ์ด๋ก ๋ณํ ๊ฐ๋ฅ
-
์ดํฐ๋ ์ด์
ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ ์๋น์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ฅ ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ค(ํต์ผ๋ ๊ท์ฝ์ด ์๊ธฐ ๋๋ฌธ์)
-
๋ฌดํ ์ดํฐ๋ฌ๋ธ, ์ง์ฐ ํ๊ฐ
- ๋ฌดํ ์ดํฐ๋ฌ๋ธ๋ก ๋ฌดํ ์์ด ๊ตฌํ ๊ฐ๋ฅ
- ์ง์ฐํ๊ฐ -> ๋ฐ์ดํฐ ๋ก์ง๋ง ๋จผ์ ๊ตฌํํ๊ณ ๋ฐ์ดํฐ ํ์์ ๊ทธ๋์์ผ ์์ฑ
- next ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ์์ผ๋ฉด ๋ฐ์ดํฐ ์์ฑํ์ง ์์
- ์คํ์๋ ๋น ๋ฅด๊ณ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น ์ค์
35์ฅ: ์คํ๋ ๋ ๋ฌธ๋ฒ(...)
- ๋ญ์ณ ์๋ ๊ฐ๋ค์ ํผ์ณ์ ๊ฐ๋ณ ๋ชฉ๋ก์ ๋ง๋ค์ด์ค
- ์ดํฐ๋ฌ๋ธ์ด๋ฉด ์ฌ์ฉ ๊ฐ๋ฅ!(์ผ๋ฐ ๊ฐ์ฒด๋X)
- ์คํ๋ ๋ ๋ฌธ๋ฒ์ ๊ฒฐ๊ณผ๋ ๊ฐ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ณ์ ํ ๋นX
์ด๋์ ์ฌ์ฉ?
- ํจ์ ํธ์ถ๋ฌธ์ ์ธ์ ๋ชฉ๋ก
-
์์
const arr = [1, 2, 3]
const max = Math.max(...arr)
function foo(...rest) {
console.log(rest)
}
foo(...[1, 2, 3])
-
Rest ํ๋ผ๋ฏธํฐ -> ์ธ์ ๋ชฉ๋ก์ ๋ฐฐ์ด๋ก ์ ๋ฌ
-
์คํ๋ ๋ ๋ฌธ๋ฒ -> ๋ญ์ณ ์๋ ๋ฐฐ์ด์ ๋ชฉ๋ก์ผ๋ก ๋ง๋ฆ
- ๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ์์ ๋ชฉ๋ก
- concat, splice(์์ ์ถ๊ฐ, ์ ๊ฑฐ), ๋ฐฐ์ด ๋ณต์ฌ, ์ดํฐ๋ฌ๋ธ์ ๋ฐฐ์ด๋ก ๋ณํ
- ์ดํฐ๋ฌ๋ธX ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด -> ์คํ๋ ๋ ์ฌ์ฉX -> Array.from()
- ์ดํฐ๋ฌ๋ธO ์ ์ฌ๋ฐฐ์ด๊ฐ์ฒด -> ์คํ๋ ๋ ์ฌ์ฉO(arguments)
- ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ํ๋กํผํฐ ๋ชฉ๋ก
- ์๋ก ์ ์๋ ์คํ๋ ๋ ํ๋กํผํฐ -> ์ผ๋ฐ๊ฐ์ฒด๋ ์คํ๋ ๋ ๋ฌธ๋ฒ ์ ์ฉO
36์ฅ: ๋์คํธ๋ญ์ฒ๋ง ํ ๋น
- ์ดํฐ๋ฌ๋ธ ๋๋ ๊ฐ์ฒด๋ฅผ 1๊ฐ ์ด์์ ๋ณ์์ ๊ฐ๋ณ์ ์ผ๋ก ํ ๋น
- ์ฆ, ์ํ๋ ๊ฐ๋ง ์ถ์ถํด์ ์ธ ์ ๊ฐ ์์!
๋ฐฐ์ด ๋์คํธ๋ญ์ฒ๋ง ํ ๋น
- ํ ๋น ๊ธฐ์ค์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค! -> ์์๋๋ก ํ ๋น๋จ!
- ์์ ๊ฐ์ ์๊ดX
- ๋ณ์์ ๊ธฐ๋ณธ๊ฐ ์ค์ ๊ฐ๋ฅ!
const [one = 1, two, three] = arr
๊ฐ์ฒด ๋์คํธ๋ญ์ฒ๋ง ํ ๋น