this ๋? this๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉํ๋ ํค์๋์ด๋ฉฐ ์ด๋ this๋ ํด๋น ์ฝ๋๋ฅผ ์คํํ๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ํ๋ธ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์์ this๋ ์กฐ๊ธ ๋ค๋ฅด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ this๋ ์์ ์ด ์ํ ๊ฐ์ฒด ๋๋ ์์ ์ด ์์ฑํ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ์๊ธฐ ์ฐธ์กฐ ๋ณ์์ด๋ค. this๋ฅผ ํตํด ์์ ์ด ์ํ ๊ฐ์ฒด๋ ์์ฑํ ์ธ์คํด์ค์ ํ๋กํผํฐ๋ ๋ฉ์๋๋ฅผ ์ฐธ์กฐํ ์ ์๋ค. this์ ๋ฐ์ธ๋ฉ function sayName() { const name = 'yunCow' console.log(this.name) } sayName(); // ? ์ฝ๋๋ง ๋ฑ ๋ดค์๋ console.log์ 'yunCow'๋ฅผ ๋ณด์ฌ์ค ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ํ์ง๋ง ๊ทธ๋ ์ง ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์์ this๊ฐ ์ฐธ์กฐํ๋ ๊ฒ์ ํจ์์ ํธ์ถ ๋ฐฉ์์..
JavaScript
์ค์ฝํ ์ฒด์ธ์ด๋? ์ค์ฝํ ์ฒด์ธ์ ์ค์ฝํ๋ค์ด ๊ณ์ธต์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ์ค์ฝํ ์ฒด์ธ์ด๋ผ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ค์ฝํ ์ฒด์ธ์ ํตํด ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋์ ์ค์ฝํ์์ ์์ํด์ ์์ ์ค์ฝํ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ๋ฉฐ ์ ์ธ๋ ๋ณ์๋ฅผ ๊ฒ์ํ๋ค. ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์์ง์ด๊ธฐ์ ์์ ์ค์ฝํ์์ ์ ์ธํ ๋ณ์๋ฅผ ํ์ ์ค์ฝํ์์๋ ์ฐธ์กฐํ ์ ์๋ค. ( ์คํ ์ปจํ
์คํธ์ ๋ ์์ปฌ ํ๊ฒฝ์ ๋จ๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ ) ์ค์ฝํ ์ฒด์ธ์ ์ค์ฒด๊ฐ ์กด์ฌํ๋ฉฐ, ๋ ์์ปฌ ํ๊ฒฝ์ ๋ํด ์์์ผ ํ๋๋ฐ ๊ต์ฅํ ๊น์ ๋ถ๋ถ์ด๋ฏ๋ก ๋ฐ๋ก ์ฒ์ฒํ ์์๋ณด๋๊ฒ์ ์ถ์ฒํ๋ค. ๊ฐ๋จํ๊ฒ ๋ณ์ ์ ์ธ์ ๋ณ์ ์๋ณ์๊ฐ ๋ ์์ปฌ ํ๊ฒฝ์ key๋ก ๋ฑ๋ก์ด ๋๊ณ ๋ณ์ ํ ๋น์ด ๋๋ฉด ๋ ์์ปฌํ๊ฒฝ์ ๋ณ์ ์๋ณ์์ ํด๋นํ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ค. const foo = () => { console.log('์ ์ญ ํจ์ fo..
์ค์ฝํ๋ ? ๐ถ ์ค์ฝํ๋, ๋ชจ๋ ์๋ณ์(๋ณ์,ํจ์,ํด๋์ค ๋ฑ)๋ ์ ์ธ๋ ์์น์ ๋ฐ๋ผ ์ฐธ์กฐํ ์ ์๋ ์ ํจ๋ฒ์๊ฐ ๊ฒฐ์ ๋๋๋ฐ ์ด ๋ง์ ์ฆ, ์ค์ฝํ๋ ์๋ณ์๊ฐ ์ ํจํ ๋ฒ์๋ผ ํ ์ ์๋ค. ์ค์ฝํ์ ์ข
๋ฅ ์ค์ฝํ๋ ์ ์ญ ์ค์ฝํ(global scope)์ ์ง์ญ ์ค์ฝํ(local scope)๊ฐ ์๋ค. ์ค์ฝํ๋ ์๋ณ์๋ฅผ ์ ์ธํ ๋ ์ ํด์ง๋ฉฐ ์ด๋ฐ ๊ฐ๋
์ ๋ ์์ปฌ ์ค์ฝํ๋ผ ํ๋ค. ํจ์๋ ์ ์ญํจ์์ ๋ด๋ถ์๋ ์ ์ํ ์ ์๋ค. ํจ์์ ๋ด๋ถ์์ ์ ์๋ ํจ์๋ฅผ ์ค์ฒฉ ํจ์๋ผ ํ๋ฉฐ ์ค์ฒฉํจ์๋ฅผ ํฌํจํ๋ ํจ์๋ฅผ ์ธ๋ถ ํจ์๋ผ๊ณ ํ๋ค. ํจ์๊ฐ ์ค์ฒฉ๋ ๋ ์ง์ญ์ค์ฝํ๋ ์ค์ฒฉ๋ ์ ์๋ค. ์ฆ, ์ธ๋ถ ํจ์์ ์ง์ญ ์ค์ฝํ์ ์ค์ฒฉ ํจ์์ ๋ด๋ถ์ ์ง์ญ ์ค์ฝํ๋ ๊ณ์ธต์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์ด๋ ์ธ๋ถ ํจ์์ ์ง์ญ์ค์ฝํ๋ฅผ ์ค์ฒฉ ํจ์์ ์์ ์ค์ฝํ๋ผ ํ๋ค. var ..
์ค๋ณต์์ ์ ๊ฑฐ๋ฐฉ๋ฒ 3๊ฐ์ง ๐โ๏ธ Set indexOf ์ filter ์ด์ฉ forEach ์ includes ์ด์ฉ ( ์ 3๊ฐ์ง ๋ฐฉ๋ฒ๋ง๊ณ ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ ์ ์๋ค! ) Set const test = [1, 2, 3, 3, 3]; const setTest = new Set(test); const setTest2 = [...setTest]; console.log(setTest); //Set = {1,2,3} console.log(setTest2); // [1,2,3]; ์ค๋ณต๊ฐ์ด ์๋ ๋ฐฐ์ด์ Set ๊ฐ์ฒด๋ก ๋ง๋ ํ ์คํ๋ ๋์ฐ์ฐ์(...)๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ์ ๊ฐํด์ค๋ค. Set ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ณํํ ๋ ์คํ๋ ๋ ์ฐ์ฐ์๋ง๊ณ Array.from() ๋ก๋ ๊ฐ๋ฅํ๋ค. indexOf, filter const test ..
sort? ์ ๋ ฌ ๋ฉ์๋ ์๋๊ฐ?๐ค ๋ผ๊ณ ์๊ฐํ๋ค๊ฐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ๋ค๊ฐ ๋จธ๋ฆฟ์์ ๋ฌผ์ํ๋ก ๊ฐ๋์ฐผ๋ค. ์๊ฐ๋ณด๋ค sort๋ ๋ณต์กํ ํจ์์๊ณ ์ค๋ฆ์ฐจ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฒ๋ง ์์๋๋ฐ ์์ง ์์ญ๋ฌ์ญํ์ง๋ง ๊ทธ๋๋ ๊ธฐ์กด๋ณด๋ค๋ ๋ง์ด ์๊ฒ๋๋ค! sort๋ compareFunction ๋ผ๋ ์ฝ๋ฐฑํจ์๋ฅผ ์ธ์๋ก ๋ฐ์ ์ ์๋๋ฐ ์ด๋ ๋ฒ์น์ด ์๋ค. sort๋ ๋น๊ตํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก a์ b ๋ฅผ ๋น๊ตํ๋ฉด a์ ์ ๋์ฝ๋(U+0061), b์ ์ ๋์ฝ๋(U+0062) ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น๊ตํ๊ฒ ๋๋ค. ์ฆ a - b ๋ฅผ ํ๊ฒ๋๋ค๋ฉด ์์๊ฐ ๋์ค๊ฒ ๋๊ณ b๋ a ๋ณด๋ค ํฐ ์์๋ก ํ์ธ๋๋ค. compareFunction ๋๋ ์์ MDN์ ์ ํ์๋ ๋ด์ฉ์ด ์ดํด๊ฐ ์๊ฐ๋ค. (ํน์ ์ฝ๊ฒ ์ค๋ช
๊ฐ๋ฅํ์ ๋ถ ๋๊ธ๋ถํ๋๋ฆฝ๋๋ค.) compareFuncti..
const number = 12345; const test = number.toString(); console.log(typeof test); // type = string toString์ ์ซ์ํ์
์ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝํด์ค๋ค. ๋ฌธ์์ด ๋ณ๊ฒฝ ๋ง๊ณ ๋ ํ๊ฐ์ง์ ์ฌ์ฉ๋ฒ์ด ๋ ์๋๋ฐ ๋ฐ๋ก ์ซ์๋ฅผ ์ํ๋ ์ง๋ฒ์ผ๋ก ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. const number = 12; const test = number.toString(2); console.log(typeof test, test); // console.log(string 1100); ํ์
์ ๋์ผํ๊ฒ string์ผ๋ก ๋ณ๊ฒฝ๋๋ฉฐ ํด๋น ์ซ์๋ฅผ 2์ง๋ฒ์ผ๋ก ๋ณ๊ฒฝํด์ value๋ฅผ ๋ฑ๋๋ค. ๋งค๊ฐ๋ณ์(radix) ๋ ์ ํ์ฌํญ์ด๋ฉฐ ์ง๋ฒ์ ๋ณํ๊ฐ ํ์ํ ๋์ ํ์ํ์ง ์์๋๋ฅผ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ๋ฉด..
substr โ // substr(startIndex,length) const str = "์๋
ํ์ธ์"; const substrTest = str.substr(0, 3); console.log(substrTest); //console.log(์๋
ํ) substr์ ์ฌ์ค ์ฌ์ฉ์ ๊ถํ์ง ์๋๋ค. ์ด์ ๋ substr()์ด ํฌํจ๋ ECMA-262 ํ์ค ๋ถ๋ก์ ๋ณธ ๋ถ๋ก์ด ํฌํจํ ๋ชจ๋ ์ธ์ด ๊ธฐ๋ฅ๊ณผ ํ๋์ ํ๋ ์ด์์ ๋ฐ๋์งํ์ง ์์ ํน์ง์ ๊ฐ๊ณ ์์ผ๋ฉฐ ์ฌ์ฉ์ฒ๊ฐ ์์ด์ง ๊ฒฝ์ฐ ๋ช
์ธ์์ ์ ๊ฑฐ๋๋ค๊ณ MDN ์ฌ์ดํธ์์ ์น์ ํ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ณด๋ด๊ณ ์๊ธฐ๋๋ฌธ์ด๋ค. ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ
์คํธ ์ฐ์ต ์ค ๋ฐ๊ฒฌํ๊ณ ๋ณ๊ฒฝํ์๋๋ฐ ์๋ง ์ฐ๋ฉด ์ ์ฉํ ๊ฑฐ ๊ฐ์๋ฐ ์กฐ๊ธ ์์ฝ๊ธด ํ๋ค. ์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ๋ค. substr(์์ํ ์ธ๋ฑ์ค, ๊ธธ์ด) ๋ฅผ ์
๋ ฅํด์ฃผ๋ฉด ๊ฐ..
๋ฐ๋ณต๋ฌธ์ด๋ ? ๐คทโ๏ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฐ๋ณต๋ฌธ์ด๋ ์ฃผ์ด์ง ํ์๋งํผ ๋ช
๋ น์ ๋ฐ๋ณตํ์ฌ ์ํํ๋๋ก ์ ์ดํ๋ ์คํ๋ฌธ์ด๋ค. ์ฌ๋ฌ ๋ฐ๋ณต๋ฌธ์ด ์์ง๋ง ์ด ๊ธ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ for, for...of, for...in ์ ๋ํด ์์ฑํ๊ณ ์ ํ๋ค. for โป for(์ด๊ธฐํ์; ์กฐ๊ฑด์; ์ฆ๊ฐ์) { ์คํ๋ฌธ; } // ex) for (i = 0; i < 10; i++) { console.log(i); } // console.log(0,1,2,3,4,5,6,7,8,9) for...in ๐ฉ const num = { one: 1, two: 2, three: 3, four: 4, five: 5, }; for (number in num) { console.log(number); } // console.log(one,two,thr..