Class
JS์์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋ค.
ํํ์
class ๋ฅผ ์ด์ฉํด ์ ์ธํ๊ณ new
๋ฅผ ์ด์ฉํด ์์ฑ
๊ธฐ๋ช ํํ์
ํด๋์ค ๋์ ์์ฑ
์๋ฆฌ
์์ ์ฝ๋๋ฅผ ์๋ก User
๋ผ๋ ํจ์๋ฅผ ๋ง๋ค๊ณ ํจ์๋ ์์ฑ์constructor
๋ก ๋ถํฐ ์์ฑํ๊ณ ํด๋์ค ๋ด์ ๋ฉ์๋๋ค์ User.prototype
์ ์ ์ฅํ๋ค
์ผ๋ฐ์ ์ธ ์์ฑ์ ํจ์์ ๋ค๋ฅธ์
class๋ก ๋ง๋ ํจ์์ ํน์ ๋ด๋ถ ํ๋กํผํฐ์ธ
[[FunctionKind]]:"classConstructor"
๊ฐ ์กด์ฌํ๋ค. ๋ฐ๋ผ์new
๋ฅผ ๋ถ์ด์ง ์๊ณUser();
์ ๊ฐ์ด ๊ทธ๋ฅ ํธ์ถํ๊ฒ ๋๋ค๋ฉด ์๋ชป ์ฌ์ฉ๋๊ฒ์ ๊ฐ์งํ๊ณ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.prototype์ ๋ฉ์๋ ์ ์ฒด์
enumerable
ํ๋๊ทธ๋ false๋ก ํด๋์ค ๋ฉ์๋๋ ์ด๊ฑฐ๊ฐ ๋ถ๊ฐ๋ฅ ํ๋ค.ํญ์
use strict
๋ชจ๋๋ก ์คํ๋์ด ํด๋์ค ์์ฑ์ ์์ ์ฝ๋ ์ ์ฒด์ ์๋์ผ๋ก ์๊ฒฉ๋ชจ๋๊ฐ ์ ์ฉ๋๋ค.
getter/setter
๋ฆฌํฐ๋ด์ ์ฌ์ฉํด ๋ง๋ ๊ฐ์ฒด์ฒ๋ผ getter/setter๋ฅผ ๋ง๋ค ์ ์๋ค.
ํด๋์ค ํ๋
ํ๋กํผํฐ์ด๋ฆ = ๊ฐ
์ผ๋ก ํ๋๋ฅผ ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, Obj.prototype์ด ์๋ ๊ฐ๋ณ ๊ฐ์ฒด์๋ง ํด๋์ค ํ๋๊ฐ ์ค์ ๋๋ค.
Last updated