super ํค์๋ super() ํค์๋๋ ์์(๋ถ๋ชจ)๊ฐ์ฒด์ ํจ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉ๋ฉ๋๋ค ๋จ, constructor(์์ฑ์) ์์์๋ super ํค์๋ ํ๋๋ง ์ฌ์ฉ๋๊ฑฐ๋ this ํค์๋ ์ ์ ๋จผ์ ํธ์ถ๋์ด์ผ ํฉ๋๋ค ๋ถ๋ชจ ํด๋์ค์ ์์ญ์, ์์ํด๋์ค(๋)๋ ํฌํจํ๊ณ ์๋ ๊ฒฝ์ฐ! ์ค๋ณต์ ์ค์ด๋ ค๊ณ ๊ทธ๋, ์ฌ์ฉํ๋ ํค์๋ 'super' super ํํ 2๊ฐ์ง 1.super() = ๋ถ๋ชจ ํด๋์ค์ ์์ฑ์(constructor) 2.super. = ๋ถ๋ชจํด๋์ค์ class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum(){ return this.first+this.second; } ..
์ ์ฒด ๊ธ
๐ฉ๐ป java, mysql, android, php, javascript๋ฅผ ๋ค๋ฃน๋๋คClass inheritance ์์์ ์ฐ๋ ์ด์ : ์ค๋ณต์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํจ. ์ฆ, ๋ถ๋ชจํด๋์ค๋ฅผ ์ผ์ผ์ด ์ฐ์ง์๊ณ , ๋ฐ๋ ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์์ class์ ์ถ๊ฐํด ์ฃผ๊ณ ์ถ์๋ ํํ : ์์ํด๋์ค์ธ PersonPlus ๋ ๋ถ๋ชจํด๋์ค์ธ Person์ ์์ฑ์ ๊ฐ์ง๊ณ ์์ ๊ณต์ ํ๋ค ๋ฐ๋ผ์, ๋ถ๋ชจํด๋์ค Person์ ์์ฑ์ ์์ ํ๋ค๋ฉด, ์์ํด๋์ค PersonPlus ์์ฑ๋ ์์ ๋จ //๋ถ๋ชจํด๋์ค class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum=()=>{ return (this.first+this.second); } } //์์ํด๋์ค class PersonPlus exte..
๋ฐฐํฌ๋งํฌ: https://jieun9999.github.io/fe-sprint-my-agora-states/ My Agora States kimploo / 2022.4.22 ์คํ 2:08:33 jieun9999.github.io ๋๋ง์ ์๊ณ ๋ผ ์คํ
์ด์ธ ๋ฅผ ๋ง๋ค์ด๋ณด์๋ค. ์๋์ค๋ฝ๊ฒ ๋ฒ ์ด๋ฏธ๋๋ฉ์ ์์ํ๋ค. ๋ฐฐํฌ๋งํฌ๋ ๋ง๋ค๊ณ , pull request ๋ ์๋ฃํด๋ณด์๋ค. ํนํ, ์์ ์
๋ ฅ์ฐฝ์ ์ ๋ณด๋ฅผ ์
๋ ฅํ๋ฉด, ์๋์ ๋ฐ์ดํฐ๊ฐ ๊ฐ์์ ์ผ๋ก ๋์ ๋๋ ๊ฒ์ด ์ ๊ธฐํด๋ฐ.. ํคํค ๋ฐฐ์ด์ = '๋ฉํ์ธ์ง' ๊ธฐ๋ฅด๊ธฐ ๋ด๊ฐ ๋ญ ์๊ณ , ๋ญ ๋ชจ๋ฅด๋์ง ํ์
ํ๊ธฐ ๋ด๊ฐ ์ฒ์์ ๋น ๋จ๋ฆฐ ๋ถ๋ถ์ ์ฒซ๋ฒ์งธ ๋ฐฐ์ด์ ํด๋นํ๋ ์ ๋ณด๋ฅผ ๋ค ๋ฐ์๋๊ธฐ๋ง ํ๋ค๋ ๊ฒ์ด๋ค. 40๊ฐ์ ๋ฐฐ์ด์ out of ์์ค ๋ฐ๋ณต๋ฌธ์ ๊ณ ๋ คํ์ฌ, ์ฝ์์ ๋ณด๋ฉด์ ๋ฌธ์ ๋ฅผ ์ฐพ์์ผ ํ์ >>๋์..
Class๋ ๋ญ๋ค? constructor ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ณด๋ค ์ฝ๊ฒ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณต์ฅ! prototype ๊ธฐ๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณต์ฅ์ด ์๊ณ , (๋ณด๊ธฐ์ฌ์) class ๊ธฐ๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณต์ฅ์ด ์๋ค. // ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ์ด๊ธฐํ? // ๋จผ์ ์คํ๋๋๋ก ๋ง๋ค์ด์ง constructor ํจ์๋ฅผ class ๋ด์์ ๊ตฌํ class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum=()=>{ return 'class : '+(this.first+this.second); } } let kim = new Person('kim',10,20); kim.sum = function()..
prototype(์ ์ ์) -๊ฐ์ฒด๋ค์ด ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ์์ฑ๊ฐ ํ๋กํ ํ์
์ ์ฌ์ฉํ์ง ์๊ณ , ์์ฑ์ ํจ์ ์์์ ๋ฉ์๋๋ฅผ ์ง์ ์ ์ํ๋ค๋ฉด ์ด๋ค ๋นํจ์จ? - ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ง๋ค ์ค๋ณต์ ์ธ ๋ฉ์๋๋ก ์ธํด, ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์๊น ๊ทธ ๋นํจ์จ์ ํ๋กํ ํ์
์ ํตํด ์ด๋ป๊ฒ ๊ทน๋ณตํ๋์ง? -๊ฐ์ฒด๋ค์ด ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ์์ฑ๊ฐ(ํ๋กํ ํ์
)์ ์ ์ํด์, ๊ฐ์ฒด ์์ ์ผ์ผ์ด ๋ฉ์๋๋ฅผ ์ฐ๋ ๊ณผ์ ์ ์๋ตํด, ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๊ฐ๋ฅ function Person(name,first,second){ this.name =name; this.first=first; this.second=second; } //ํํ Person.prototype.sum=function(){ return 'prototype : '+(this.first+this.s..
Constructor function(์์ฑ์ ํจ์) ๊ฐ์ฒด ์์ฐ ํจ์, ์ฆ ๊ฐ์ฒด๋ฅผ ์ฐ์ด๋ด๋ ํจ์์ด๋ค. ์ด์ ์๋ ํ๋์ ๊ฐ์ฒด๋ง๋ค ํค์ ๊ฐ์ ๋ถ์ฌํด์คฌ๋ค๋ฉด, ์ปจ์คํธ๋ญํฐ์ new ๋ผ๋ ๊ฐ์ฒด์์ฑ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ปจ์คํธ๋ญํฐ์ ์ ์๋์ด ์๋ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ํ๋ฒ์ ๋ฐ์์ฌ ์ ์๊ณ , ๊ฐ๊ฐ์ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ๊ฐ ์ํฉ๋ง๋ค ๋ณ๊ฒฝํ์ฌ ์ฌ์ฉํ ์ ์๋ค. // ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ง๋ค์ด์ค๋ค function Person(name,first,second,third){ this.name =name; this.first=first; this.second=second; this.third=third; this.sum=function(){ return this.first+this.second+this.third; } } // ์์ฑ์ํจ์..
this = '๋'! this๋ this๊ฐ ์ํด์๋ ๋ฉ์๋๊ฐ ์ํด์๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํด! ๊ฐ์ฒด์ ์ด๋ฆ์ด ๋ฐ๋์ด๋ ์๋์ ๋ก์ง์ ์ ์งํ ์ ์์ด์ ์ฌ์ฌ์ฉ์ ๋์์ด ๋จ. let kim = { name:'kim', first:10, second:20, sum:function(){ return this.first+this.second; } } console.log("kim.sum()",kim.sum()); //kim.sum() 30
//๋ด์ฅ๊ฐ์ฒด Math console.log("Math.PI", Math.PI); console.log("Math.random()",Math.random());//๊ฐ์ฒด์ ์์๋์ด ์์๋๋ ๋ฉ์๋, ๋ฉ์๋๋ ๋ณธ์ง์ ์ผ๋ก ํจ์ console.log("Math.floor(2.6)",Math.floor(2.6)); //๋๋ง์ ๊ฐ์ฒด ๋ง๋ค์ด๋ณด๊ธฐ //๊ฐ์ฒด๋ ๊ทธ๋ฃนํํด์ ์ด๋ฆ์ ๋ถ์ธ๊ฒ์ด๋ค let MyMath = { PI:Math.PI, random:function(){ return Math.random(); }, floor:function(val){ return Math.floor(val); } } console.log("MyMath.PI",MyMath.PI); console.log("MyMath.random",MyMath..