๊ณตํต : github / ์ ๊ทํํ์ / HTTP(BE์์ ๋ ์ค์) / SEO (FE์ ๊ฐ๊น์)
FE : HTML / CSS / JS(AJAX) / REACT / (SASS) / (JQery) / WebPack
BE : JS / tailwind or bootstrap / Node / DB / Server
์ ๋ต์ ์๋์ง๋ง ์ด ์ ๋๋ก ๋๋ ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
๋ฐฐ์ด ๊ด๋ จ method, object, function์ ๋ํด ๋๊ฐ๋ค.
๋ฅ๋ค์ด๋ธ ์ฑ ์์ ๋ค์ ์ฅ์์ ์์๋ด์~ ํ๊ณ ๋์ด๊ฐ๊ฑธ ์๋ ค์ฃผ์ จ๋ค. ์์ ํ ์๋ฐ ๋๋์ด๋ค.
๋ฐฐ์ด ์ ์ธ ๋ฐฉ๋ฒ
let ๊ณผ์ผ = ['์ฌ๊ณผ', '์๋ฐ', '๋ณต์ญ์', '๋ธ๊ธฐ', '๋ฐ๋๋']; let ๊ณผ์ผ2 = new Array(5); let ๊ณผ์ผ3 = new Array('์ฌ๊ณผ', '์๋ฐ', '๋ณต์ญ์', '๋ธ๊ธฐ', '๋ฐ๋๋'); let ์ ์ฃผ๊ณผ์ผ = ['๊ทค', 'ํ๋ผ๋ด', '์ฒํํฅ'];
๋ฐฐ์ด method
// ์ ๋ฐฐ์ด์ ์ํฅ X ๊ณผ์ผ.toString(); // '์ฌ๊ณผ, ์๋ฐ, ...' ๊ณผ์ผ.join('!!*'); // ๋ฐฐ์ด์ ํฉ์น๋๋ฐ ์์ ์ฌ์ด์ !!* ๊ณผ์ผ.concat(์ ์ฃผ๊ณผ์ผ); // ํฉ์นจ. ์ ์ฃผ๊ณผ์ผ.concat(๊ณผ์ผ); // ์ ๋ฐฐ์ด์ ์ํฅ ๊ณผ์ผ.push('๋ฉ๋ก '); ๊ณผ์ผ.pop(); // ์ง์ง Stack ํจ์๋ผ์ ํ์ด์ฌ์ฒ๋ผ ์ธ์ ๋๊ฒจ์ฃผ๋๊ฑฐ ์๋จ. ๊ณผ์ผ.slice(start, end+1); // - indexing ํ์ฉ, end ์์ฃผ๋ฉด start ๋ถํฐ ๋๊น์ง ์๋ฆผ. // ๊ณผ์ผ.shift(); // index 0 ์ ๊บผ๋ด์ด. ๊ณผ์ผ.unshift('๊ทค'); // index 0 ์ ๋ค์ด๊ฐ. string.split('.'); // .์ ๊ธฐ์ค์ผ๋ก ๋๋ ์ ๋ฐฐ์ด ๋ง๋ค์ด์ค. ๊ณผ์ผ.splice(start, count); // start๋ถํฐ count ๊ฐ๋ฅผ ๊บผ๋ด์ด. ์๋ ๋ฐฐ์ด์ ์ํฅ. ๊ณผ์ผ.splice(1, 3, 'apple'); // ์ ๋ฐฐ์ด์ 1๋ถํฐ 3๊ฐ๋ฅผ ์๋ผ์ค๊ณ , ์ ๋ฐฐ์ด์ ํด๋น ๋ถ๋ถ์ apple์ ํ๊ฐ ๋ฃ์. ๊ณผ์ผ.sort(); // ์ฌ์ ์ ๊ธฐ์ค (์์คํค์ฝ๋) ์์ ํจ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๊ทธ ์์๋๋ก ์ ๋ ฌ๋จ. ๊ณผ์ผ.sort((a, b) => a - b); // ์ค๋ฆ์ฐจ์ ๊ณผ์ผ.sort((a, b) => b - a); // ๋ด๋ฆผ์ฐจ์ ๊ณผ์ผ.reverse(); // ๋ฐฐ์ด ๊ทธ๋ฅ ๋ค์ง์
๋ฐฐ์ด์ ํ๋ณํ
let ํ๋ ฌ = [[1,2,3], [4,5,6], [7,8,9]]; ํ๋ ฌ[0] + ํ๋ ฌ[0]; // '1,2,34,5,6' ๋ฌธ์์ด๋ก ๊ณ์ฐ์ด ๋์ด๋ฒ๋ฆผ. ํ๋ ฌ[0] + ''; // ํ๋ ฌ ์ ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ง๋ค๊ณ ์ถ์ ๋.
Object
// key, value, property ๋ฅผ array๋ก ๋ฝ์์ค๋ค. Object.keys(person); Object.values(person); Object.entries(person); // ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ. ์ด๋ฐ์์ ๋ฐ๋ณต๋ฌธ์ ๊ฑฐ์ ์์ฐ๊ธด ํ๋ค. for (let [i, j] of [[1, 2], [3, 4]]) { console.log(i, j); } for (let [[i, j], k] of [[1, 2], 2], [[1, 2], 4]]) { console.log(i, j, k); } // ํน์ property ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ด. Object.getOwnPropertyDescriptor(person, 'name'));
ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ์ฌ์ฌ์ฉ์ฑ
2. ์ํคํ ์ฒ ํ์
3. ์ ์ง๋ณด์
- ์บก์ํ : ํจ์ ๋ด์ ๋ณ์์ ์ ๊ทผ ๋ถ๊ฐ๋ฅ
- ์ถ์ํ : ์์ ์๋ ์ฝ๋๋ฅผ ๋ณด์ง ์๊ณ ํจ์๋ง ๋ณด๊ณ ๋ ์ด๋ค ์์ ์ ํ๋์ง ์ ์ ์๊ฒ.
parameter์ default argument ์ค์ .
function add(a = 100, b = 200) { if (a == 100) { return } return a + b; }
// ๋งค๊ฐ๋ณ์๋ฅผ ์ฒซ๋ฒ์งธ๊ป ์์ฃผ๊ณ ๋๋ฒ์งธ๋ง ์ฃผ๋๊ฑด ์๋จ. ํ๊ฐ๋ง ์ฃผ๋ฉด ์์๊บผ์ ๋ค์ด๊ฐ๋๊น. add(undefined, 200); // NaN add(null, 200); // 200 // ๊ทธ๋ ๊ฒ ์ฐ๊ณ ์ถ์ ๋๋ ๊ตฌ์กฐ ๋ถํด ํ ๋น์ผ๋ก object๋ก ๋๊ฒจ์ค๋ค. function add({ a = 100, b = 200 }) { // { a = 100, b = 200 } ์ ํผ์ฐ์ฐ์์ด๋ฏ๋ก object literal์ด๋ค. console.log(a+b); } add({b: 300}); // 400
// ๊ตฌ์กฐ ๋ถํด ํ ๋น var o = {p: 42, q: true}; var {p, q} = o; console.log(p); // 42 console.log(q); // true // ์๋ ์์ p, q ์ฒ๋ผ ๊ตฌ์กฐ ๋ถํดํ ๋น์ ํ๋ ค๊ณ a, b๋ฅผ ์ ์ธํ๊ฑด๋ฐ, var { a, b } = { a: 400 }; // b ๋ฅผ ์์ฃผ๋ฉด b๊ฐ undefined // ์ด๊ธฐ๊ฐ์ ์ค ์ ์์ด์ ์ค ๊ฒ ์. var { a = 100, b = 200 } = { a: 400 } // ๊ฒฐ๊ตญ ์์ ํจ์๋ object type ( ๊ตฌ์กฐ ๋ถํด ํ ๋น์ ์ํ ) ์ ํ๋ผ๋ฏธํฐ๋ก ํ๊ณ , object ๋ฅผ ์ธ์๋ก ๋ฐ์์ ๋ถํดํ ํ ์ฌ์ฉํ๋ ๊ฒ.
ํธ์ด์คํ ์ ์ฐจ์ด.
mul(); a(); mul2(); // ๊ฐ๋ฅ ๋ถ๊ฐ๋ฅ ๋ถ๊ฐ๋ฅ function mul (a, b) { return a*b; } // ํธ์ด์คํ ๋๋ค let a = function(a, b) { return a*b; } // ๋ณ์ ํธ์ด์คํ ์์ ์ ํธ์ด์คํ ๋๋ค. let b = function mul2 (a, b) { return a*b; } // ๋ณ์ ํธ์ด์คํ ์์ ์ ํธ์ด์คํ ๋๋ค. // ํจ์ ํํ์์ ๋ฐํ์ ์ ๊น์ง ๋ณ์์ undefined๊ฐ ์ ์ธ๋์ด ์๊ธฐ ๋๋ฌธ์ ์์์ ๋ถ๋ฅผ ์ ์๋ค. // ๊ฐ๋ช ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๋ค ์์ง ํํ์ ๊ณ์ฐ๋ ์๋๊ณ , ๋ณ์์ ํ ๋น๋ ์๋์ผ๋๊น.
ํ์ดํ ํจ์
// swift ์์ closure ์ฌ์ฉ ์ ์ถ์ฝ๋ฌธ๋ฒ ํ๋ ๊ทธ๋ฐ ๋๋. let a = (a,b) => return a-b;
์ด์ ์ฝ์๋๋ฐ ์์ ์์ ๋์จ ๊ฒ๋ค!
- String ์ primitive type ์ด๋ผ immutable
- ํจ์ ์ ์ธ๊ณผ ํจ์ ํํ์์ ํธ์ด์คํ ์์
๊ทผ๋ฐ ์ด์ ๋์ถฉ ์ฝ์๋์ง ์ค๋ ๋ณด๋๋ฐ ์ฒ์ ๋ณด๋๋ฏํ ๊ธฐ๋ถ์ด์๋ค
์ ๋ํด์ ๊ณต๋ถํ๋ค. ์ ์๊ถ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ด์ ํด๋น ๋ด์ฉ์ ๊ฐ์ธ ๊ธ๋ก ์ฎ๊ธด๋ค.