์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๋ธ๋ฃจํธํฌ์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- JavaScript
- Redux toolkit
- ๋ฆฌ๋์ค ํดํท
- ๊ณผ์ ํ ์คํธ
- ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ ํฌ๋ฉง
- Node.js
- ์ฝ๋ฉํ ์คํธ
- ๋์ ๊ณํ๋ฒ
- js
- custom hook
- icecandidate
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- React
- ์ฝํ
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- DP
- ์ด๋ถํ์
- ์ด๋ฏธ์ง ์์
- ๋๋๊ทธ ์ด๋ฒคํธ
- ๋ฐฑ์ค
- router v6
- ์นด์นด์ค์ฑ์ฉ
- ์นด์นด์ค
- TypeScript
- Today
- Total
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (100)
๐ฅ dev-ruby
for...in ๋ฌธ, for...of ๋ฌธ for...in for...in ๋ฌธ์ ๊ฐ์ฒด์ key๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค. const obj = { key1: 'value1', key2: 'value2', key3: 'value3', } for (const key in obj) { console.log(obj[key]); } // value1 // value2 // value3 for...of for...of ๋ฌธ์ iterableํ ์์ฑ์ ์ง๋ String, Array, TypedArray, Map, Set์์ ๊ฐ์ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค. ๊ฐ์ฒด๋ iterable์ด ์๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Object.keys(object) ํน์ Object.values(object)๋ฅผ ํตํด ๋ฐฐ์ด๋ก ๋ฐ๊ฟ์ ๊ฐ์ ๊ฐ์ ธ..
replace() ๋ฉ์๋ : ์ด๋ค ํจํด์ ์ผ์นํ๋ ์ผ๋ถ ๋๋ ์ ์ฒด ๋ถ๋ถ์ ๊ต์ฒด๋ ์๋ก์ด ๋ฌธ์์ด๋ก ๋ฐํ ๊ตฌ๋ฌธ const newStr = str.replace(์ ๊ท์ | ๋ฌธ์์ด, ๋์ฒดํ ๋ฌธ์์ด | function) ๋งค๊ฐ๋ณ์ regexp (pattern) ์ ๊ท์(RegExp) ๊ฐ์ฒด ๋๋ ๋ฆฌํฐ๋ด. ์ผ์นํ๋ ํญ๋ชฉ์ newSubStr ๋๋ ์ง์ ๋ ํจ์(function)๊ฐ ๋ฐํ ํ ๊ฐ์ผ๋ก ๋์ฒด๋๋ค. substr (pattern) ๋์ฒดํ๊ณ ์ถ์ ๋ฌธ์์ด. ์ ๊ท์์ด ์๋ ๊ธ์ ๊ทธ๋๋ก์ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌ๋๋ค. ์ค์ง ์ฒซ ๋ฒ์งธ ์ผ์น๋๋ ๋ฌธ์์ด๋ง์ด ๊ต์ฒด๋๋ค. -> ์ ์ฒด์์ ๊ฒํ ํ๊ณ ์ถ์ผ๋ฉด ์ ๊ท์์ ์จ์ผํ๋ค. ์์) replace(/(C#)/g, 'c') : ๋ฌธ์์ด ๋ด์ ๋ชจ๋ C#์ด c๋ก ๋์ฒด๋๋ค. newSubStr (replacem..
repeat() ๋ฉ์๋ ๊ตฌ๋ฌธ str.repeat(count); ๋งค๊ฐ๋ณ์ count๋ฌธ์์ด์ ๋ฐ๋ณตํ ํ์. ์ ์๋ง ๊ฐ๋ฅ ์์ 'abc'.repeat(-1); // RangeError 'abc'.repeat(0); // '' 'abc'.repeat(1); // 'abc' 'abc'.repeat(2); // 'abcabc' 'abc'.repeat(3.5); // 'abcabcabc' (3 : integer๋ก ๋ณํ๋๋ค.) 'abc'.repeat(1/0); // RangeError
isNaN() ํจ์๋ ๋งค๊ฐ๋ณ์๋ก ๋ค์ด์จ ๊ฐ์ด ์ซ์์ธ์ง ๋ฌธ์์ธ์ง ํ๋จํด์ฃผ๋ ํจ์๋ค. ๊ตฌ๋ฌธ isNaN(value) ๋ฐํ ๊ฐ ์ฃผ์ด์ง ๊ฐ์ด ์ซ์๊ฐ ์๋๋ฉด(NaN) true, ์ซ์์ด๋ฉด false๋ฅผ ๋ฐํํ๋ค. ์์ isNaN("37"); // false: "37"์ NaN์ด ์๋ ์ซ์ 37๋ก ๋ณํ๋๋ค. isNaN("37.37"); // false: "37.37"์ NaN์ด ์๋ ์ซ์ 37.37๋ก ๋ณํ๋๋ค. isNaN("123ABC"); // true: parseInt("123ABC")๋ 123์ด์ง๋ง Number("123ABC")๋ NaN์ด๋ค. -> ๋ฌธ์๋ก ํ๋จ๋จ isNaN(""); // false: ๋น ๋ฌธ์์ด์ NaN์ด ์๋ 0์ผ๋ก ๋ณํ๋๋ค. isNaN(" "); // false: ๊ณต๋ฐฑ์ด ์๋ ๋ฌธ์์ด์ NaN์ด ์..
๋ฌธ์์ด์ด ์ ๊ท์๊ณผ ๋งค์น๋๋ ๋ถ๋ถ์ ๊ฒ์ํด์ฃผ๋ ๋ฉ์๋์ด๋ค. ๋ฌธ๋ฒ str.match(regexp) ๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์์ด์์ ์ซ์๊ฐ ์๋ ๋ฌธ์๋ง ๊ฒ์(๋์ ์ฒ์ ๋ถ๋ถ๋ง. ๋ฌธ์ ๋ค์ ์ซ์๊ฐ ์ค๋ฉด ๊ฑฐ๊ธฐ๋ถํฐ ์งค๋ฆผ)ํ๋ ์ ๊ท์์ ํ์ฉํ์ฌ match ํจ์๋ฅผ ์ถ๋ ฅํ๋ฉด, ๋ฐฐ์ด๋ก ์ถ๋ ฅ๋๋ค. ๊ฑฐ๊ธฐ์ 0๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ด ๋ด๊ฐ ์ํ๋ ๊ฐ์ด๋ค. a = "img10.png"; console.log(a.match(/^\D+/));// ์ถ๋ ฅ : [ 'img', index: 0, input: 'img10.png', groups: undefined ]
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/v0m4R/btrpP3jUejv/N0fQLV37BnOnwxR5loii5K/img.jpg)
ESLint ๋? Linter์ ๊ธฐ๋ฅ ๋์ ์ธ์ด์ธ Javascript์์๋ ์ฝ๋ ์๋ฌ๊ฐ ์์ฃผ ๋ฐ์ํ๋ค. ๋์ ๋ถ์(ํ๋ก๊ทธ๋จ์ ์ง์ ์คํํด์ ์ฝ๋๋ฅผ ๋ถ์)์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฌ๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ ์ฝ๋๋ฅผ ์ง์ ์คํํด์ ํ์ธ์ ํด๋ด์ผ ํ๋ค. ์ด๋ฅผ ๋์์ฃผ๋ ๊ฒ์ด Linter์ด๋ค. Linter๋ ์ฝ๋๋ฅผ ์ ์ ์ผ๋ก ๋ถ์ํ๊ธฐ ๋๋ฌธ์, ํ๋ก๊ทธ๋จ์ ์คํํ์ง ์๊ณ ๋ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ์๋ฐฐ๋๋ ์ฝ๋๋ ์ํฐ ํจํด์ ์๋์ผ๋ก ๊ฒ์ถํด์ค๋ค. ์ถ๊ฐ์ ์ผ๋ก ๊ฐ๋จํ ์ฝ๋ ํฌ๋งทํ ๊ธฐ๋ฅ๋ ์๋ค. ์ฐ์ , VScode์ ํ์ฅ๋ถํฐ ๊น์์ฃผ์ ! ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ๋ฅผ ๊น์์ฃผ์ ESLint ์ค์น $ npm install eslint ์ด์ ESLint ํจํค์ง ์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ด๊ธฐํ๋ฅผ ํ๋ค. $ eslint --init ๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ณ ์ง๋ฌธ์ด ๋์จ๋ค. /..