๐จ JavaScript/๊ฐ๋
[mdn, ๋๋ฆผ์ฝ๋ฉ ์ธ] ๊ฐ์ฒด์งํฅ (1) : ํด๋์ค(class)
๋ค์ด๊ฐ๊ธฐ ์์ : ์์ฑ์ํจ์์ ํด๋์ค์ ์ฐจ์ด์ https://sunshineyellow.tistory.com/18?category=1037372 [์ฝ๋ฉ์๋ง ์ธ] ๊ฐ์ฒด ๋ฆฌํฐ๋ด๊ณผ ๊ฐ์ฒด ์ ๊ทผ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์์ฑ์ ํจ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค. ๊ฐ์ฒด ๋ฆฌํฐ๋ด ์์ฑ์ ํจ์ ๋จ ํ๋์ ๊ฐ์ฒด๋ง์ ์์ฑํ ๋๋ ์ง๊ด์ ์ด๊ณ ๊ฐํธํ ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๊ณ , ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋๋์์ฐํ ๋๋ ์์ฑ์ํจ์๋ฅผ sunshineyellow.tistory.com ์ ๊ธ์์ ๊ฐ์ฒด์ ์์ฑ์ํจ์๋ฅผ ๊ฐ๋จํ๊ฒ ๊ณต๋ถํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์์ฑ์ํจ์์ ๋ค๋ฅธ ํด๋์ค์ ํน์ด์ ์ ๋ฌด์์ผ๊น? ํด๋์ค๋ new ์ฐ์ฐ์ ์์ด๋ ํธ์ถ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํด๋์ค๋ extends(ํด๋์ค์ ์์)์ super(superํด๋์ค์ constructor๊ณผ method ํธ์ถ)๋ฅผ ..
[๋๋ฆผ์ฝ๋ฉ ์ธ] ์ฝ๋ฐฑํจ์ (Callback function)
์ฝ๋ฐฑํจ์ (Callback function) ์ฝ๋ฐฑํจ์๋ ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ํน์ ์์ ์ ๋๋ฌํ์ ๋ ์์คํ ์์ ํธ์ถํ๋ ํจ์๋ฅผ ๋งํ๋ค. (ํน๋ณํ ์ ์ธ๋ฒ์ด๋ ๋ค๋ฅธ ๋ฌธ๋ฒ์ ๊ฐ์ง ํจ์๊ฐ ์๋, ํธ์ถํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ตฌ๋ถ๋ ํจ์์ด๋ค.) function whatCoder(codingTest, goodCode, badCode) { if(codingtest === 'Callback function') { goodCode(); } else { badCode(); } } const goodCode = function () { console.log('Great!') }; const badCode = function () { console.log('Do it again.') }; whatCoder(`I don't kn..
[๋๋ฆผ์ฝ๋ฉ] Early return, early exit?
~์ผ ๋ ~ํ๋ ํจ์๋ฅผ ์์ฑํ ๋, ๋ธ๋ญ ์์์ ์์ฑ์ ๊ธธ๊ฒ ํ๋ฉด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค. BAD function moreStudy(coding) { if (coding.point > 10) { //long logic... (coding.point๊ฐ 10 ์ด์์ผ ๋๋ง ์งํ๋๋ ๋ก์ง) } } ์ด๋ฐ ๊ฒฝ์ฐ์๋ ํ๊ฐ์ ๋ธ๋ญ ์์ if์ else๋ฅผ ๋ฒ๊ฐ์ ์ฐ๋ ๊ฒ๋ณด๋ค๋, GOOD function moreStudy(coding) { if (coding.point
[๋๋ฆผ์ฝ๋ฉ, comp110 ์ธ] ๋งค๊ฐ๋ณ์ (parameters)์ ๋๋จธ์ง ๋งค๊ฐ๋ณ์(rest parameters)
๋งค๊ฐ๋ณ์(Parameters) primitive parameters (value๋ฅผ ์ ๋ฌ) object parameters (reference๋ฅผ ์ ๋ฌ) function changeName(obj) { obj.name = 'coder'; } const noran = {name : 'noran'}; changeName(noran); console.log(noran); ๋๋จธ์ง ๋งค๊ฐ๋ณ์(rest parameters) function printAll(...args) { for (let i = 0; i < arg.length; i++) { console.log(arg.[i]); } } printAll('noran','javascript','goodcoding'); ๋งค๊ฐ๋ณ์ ์์ ...๋ฅผ ๋ถ์ด๋ฉด ๋ฐฐ์ด ํํ๋ก ์ ๋ฌ๋๋ค...
[mdn] ๊ธฐ๋ณธ๊ฐ ๋งค๊ฐ๋ณ์
๊ฐ์ ๊ณผ๊ฑฐ์ ๊ธฐ๋ณธ๊ฐ ์ค์ ์ ํจ์ ๋ด๋ถ์์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ๊ฒ์ฌํด undefined์ธ ๊ฒฝ์ฐ ๊ฐ์ ํ ๋นํ๋ ๋ฐฉ์์ด์๋ค. function multiply(a, b) { b = (typeof b !== 'undefined') ? b : 1 return a*b } ์ด์ ๋ ๊ธฐ๋ณธ๊ฐ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ๊ฐ๋จํ default๊ฐ์ ์ค ์ ์๋ค. function multiply(a, b = 1) { return a*b } ์์ฉ 1 ๊ธฐ๋ณธ๊ฐ์ ํธ์ถ ์์ ํ๊ฐ๋์ด, ํจ์๊ฐ ํธ์ถ๋ ๋๋ง๋ค ์๋ก์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. function goodCoder(coding = coder()) { return coding } let numberOfTimesCalled = 0 function coder(){ numberOfTimesCalled += 1 ..
[์ํ์ฝ๋ฉ, ๋๋ฆผ์ฝ๋ฉ, ์ฝ๋ฉ์๋ง] ์ฐ์ฐ์(Operator)์ break, continue
์ฐ์ฐ์(Operator) ๋ฆฌ์คํธ ! (not ์ฐ์ฐ์) ๋ถ์ && (and ์ฐ์ฐ์) ์ข/์ฐ ๋ชจ๋ ์ฐธ์ผ๋ ์ฐธ || (or ์ฐ์ฐ์) ์ข/์ฐ ์ค ํ๋๋ผ๋ ์ฐธ์ผ๋ ์ฐธ (* or ์ฐ์ฐ์๊ฐ ๋ค์์ผ ๋ ๋ง์ง๋ง์ ๊ฐ์ฅ ๋ณต์กํ ๋ณ์๋ฅผ ๋ฃ๋๋ค) == (๋๋ฑ ์ฐ์ฐ์) ์ข/์ฐ ๊ฐ๋ค๋ฉด ์ฐธ === (์ผ์น ์ฐ์ฐ์) ์ข/์ฐ๊ฐ ๋ฐ์ดํฐํ๊น์ง ์ ํํ๊ฒ ๊ฐ๋ค๋ฉด ์ฐธ != ๊ฐ์ง ์๋ค (==์ ์ ๋ฐ๋) !== ๊ฐ์ง ์๋ค (===์ ์ ๋ฐ๋) > ์ข>์ฐ๋ผ๋ฉด ์ฐธ >= ์ข>=์ฐ๋ผ๋ฉด ์ฐธ += ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ณ์์ ํ ๋นํ๋ค. ์กฐ๊ฑด๋ถ ์ฐ์ฐ์ (Conditional operator) const name = 'Noran'; if (name === 'Noran') { console.log('Welcome, Noran!'); } e..