class๋ก ํ๋ฉด constructor
๋ก ํด์ค๊ฒ๋ง ํ๋กํผํฐ๋ก ๋ค์ด๊ฐ. showName์ Prototype
์์ผ๋ก ๋ค์ด๊ฐ๋ค.
Prototype
๋ด๋ถ์ constructor
์ ๋ณด๋ฉด, class User
๊ฐ ๋ฌ๋ค
์์ฑ์ ํจ์์์๋ showName์ด ํ๋กํผํฐ๋ก ๋ฐ๋ก ๋ค์ด๊ฐ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ง์ฝ ์์ฑ์ ํจ์์์๋ showName์ class์ฌ์ฉํ๊ฒ์ฒ๋ผ Prototype์์ ๋ค์ด๊ฐ๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ์๋ ๊ฒ ๐
์์ฑ์ ํจ์๋ new๋ฅผ ์์ฐ๊ณ const๋ฅผ ์ ์ธํ ๊ฒฝ์ฐ undefined๊ฐ ํ ๋น๋๋๋ฐ, ์๋ฌ๊ฐ๋จ์ง์์์ ์ ๋ชจ๋ฅผ์๋์์
class๋ฅผ new ์์ด ์ฐ๋ฉด ์๋ฌ๊ฐ ํ๋์ ๋ณด์ธ๋ค. ๊ทธ๋์ class ๊ฐ ๋ ์ฐ๊ธฐ์ข๋ค
extends
๋์ผํ ์ด๋ฆ์ผ๋ก ๋ฉ์๋๋ฅผ ๋ฃ์ผ๋ฉด ๋ฎ์ด์ฐ๊ธฐ๊ฐ ๋ฉ๋๋ค.
stop()
์ด ๋๊ฐ์ธ๋ฐ ์ด๋ค๊ฒ ์คํ๋ ๊น์? ์ค๋์ด ์คํ๋ฉ๋๋ค
๋ง์ฝ ๋ถ๋ชจ(Car)์ stop()๋ ์ถ๋ ฅ๋์ผ๋ฉด ์ข๊ฒ ๋ค?
super
์ฌ์ฉ!
๋ง์ฝ ์์ class์ constructor
๊ฐ ์๋ค๋ฉด
<script>
constructor(...arg){
super(...arg)
}
</script>
์ฌ์ค ์ด constructor
์ฝ๋๊ฐ ์๋ต๋์ด์๋๊ฑฐ๋ค.
๐์ฆ, ์์์์ฑ์๋ ๋ฌด์กฐ๊ฑด ๋ถ๋ชจ์์ฑ์๋ฅผ ํธ์ถํ๋๊ฒ.!๐
๊ทธ๋์ super(์ธ์)
๋ฅผ ๊ผญ ๊ผฎ ์ฐ๊ธฐ
ํ....
์ถ์ฒ: ์ฝ๋ฉ์๋ง ์๋ฐ์คํฌ๋ฆฝํธ ์ค๊ธ ๊ฐ์ข ์ ํ๋ธ