๐ค Language/๐จ JavaScript
JS. ์ ๊ทํํ์ ํจํด(ํํ)
ํจํด(ํํ) ^ab / ab$ ์ค ์์์ ์๋ ab์ ์ผ์น / ์ค ๋์ ์๋ ab์ ์ผ์น let str = ` 010-1234-5678 kurt5451@naver.com https://www.omdbapi.com/?apikey=7035c60c&s=frozen The quick brown fox jumps over the lazy dog. abbcccdddd d hxyp http://localhost:1234 ๋ํด๋ฌผ๊ณผ_๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ณ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ ` console.log( str.match(/d$/gm) // ['d', 'd'] ) console.log( str.match(/^k/gm) // ['k'] ) $(๋ฌ๋ฌ) ๊ธฐํธ๋ ํ ์ค๋ง๋ค ๋ฌธ์ฅ ๋์ d๊ฐ ์๋ ๊ฒ์ ์ฐพ๋ ํจํด์ด๋ค. d๊ฐ ๋์ ์๋ ..
JS. ์ ๊ทํํ์ ํ๋๊ทธ(์ต์ )
ํ๋๊ทธ(flags) ํ๋๊ทธ ์ค๋ช g ๋ชจ๋ ๋ฌธ์ ์ผ์น(global) i ์์ด ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถ ์๊ณ ์ผ์น (ignore case) m ์ฌ๋ฌ ์ค ์ผ์น (multi line) u ์ ๋์ฝ๋(unicode) y lastIndex ์์ฑ์ผ๋ก ์ง์ ๋ ์ธ๋ฑ์ค์์๋ง 1ํ ์ผ์น(sticky) ํ๋๊ทธ ์ค์ต g(global) ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ๋ฉด์ ๋ฌธ์๊ฐ ์ผ์นํ๋๊ฒ ๋ช ๊ฐ ์๋์ง ๋ฐฐ์ด์ ํ์์ผ๋ก ํ์ธํ๋ ๊ฒ์ด๋ค. let str = ` 010-1234-5678 kurt5451@naver.com https://www.omdbapi.com/?apikey=7035c60c&s=frozen The quick brown fox jumps over the lazy dog. abbcccdddd ` const regexp = /the/g conso..
JS. ์ ๊ทํํ์ ๋ฉ์๋(method)
์๋ฐ์คํฌ๋ฆฝํธ ๋ฉ์๋ ์ ๊ทํํ์์ ๋ค๋ฃจ๋ ๋ค์ํ ๋ฉ์๋์ด๋ค. ๋ฉ์๋ ๋ฌธ๋ฒ ์ค๋ช test ์ ๊ท์.test(๋ฌธ์์ด) ์ผ์น ์ฌ๋ถ(Boolean) ๋ฐํ match ๋ฌธ์์ด.match(์ ๊ท์) ์ผ์นํ๋ ๋ฌธ์์ ๋ฐฐ์ด(Array) ๋ฐํ replace ๋ฌธ์์ด.replace(์ ๊ท์, ๋์ฒด๋ฌธ์) ์ผ์นํ๋ ๋ฌธ์๋ฅผ ๋์ฒด search ๋ฌธ์์ด.search(์ ๊ท์) ์ผ์นํ๋ ๋ฌธ์์ด์ ์ธ๋ฑ์ค(Number) ๋ฐํ exec ์ ๊ท์.exec(๋ฌธ์์ด) ์ผ์นํ๋ ํ๋์ ์ ๋ณด(Array) ๋ฐํ split ๋ฌธ์์ด.split(์ ๊ท์) ์ผ์นํ๋ ๋ฌธ์์ด์ ๋ถํ ํ์ฌ ๋ฐฐ์ด(Array)๋ก ๋ฐํ toString ์์ฑ์_์ ๊ท์.toString() ์์ฑ์ ํจ์ ๋ฐฉ์์ ์ ๊ท์์ ๋ฆฌํฐ๋ด ๋ฐฉ์์ ๋ฌธ์์ด๋ก ๋ฐํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฉ์๋ ์ค์ต ์๋ฐ์คํฌ๋ฆฝํธ ๋ฉ์๋๋ฅผ ์ค์ต์ ํตํ์ฌ..
JS. ์ ๊ท์ ์์ฑ
์ ๊ท์ ์ ๊ท์์ ์์ฑ์ ํจ์ ๋ฐฉ์๊ณผ ๋ฆฌํฐ๋ด(Literal) ๋ฐฉ์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์์ฑํ ์ ์๋ค. ์์ฑ์ ํจ์ ๋ฐฉ์ RegExp ์์ฑ์ ํจ์๋ฅผ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์๋ค. new RegExp('ํํ', '์ต์ ') new RegExp('[a-z]', 'gi') ์์ฑ์ ํจ์ ๋ฐฉ์์ ์์๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ์ฝ๋์ ๊ฐ๋ค. const str = ` 010-1234-5678 kurt5451@naver.com https://www.omdbapi.com/?apikey=7035c60c&s=frozen The quick brown fox jumps over the lazy dog. abbcccdddd ` const regexp = new RegExp('the', 'gi') console.log(str.match(regex..
JS. ์ ๊ทํํ์(Regex)
์ ๊ทํํ์ ๋ฌธ์์ด์ ๊ฒ์ํ๊ณ ๋์ฒดํ๋๋ฐ ์ฌ์ฉ๊ฐ๋ฅํ ์ผ์ข ์ ํ์ ์ธ์ด ๊ฐ๋จํ ๋ฌธ์ ๊ฒ์๋ถํฐ ์ด๋ฉ์ผ, ํจ์ค์๋ ๊ฒ์ฌ ๋ฑ์ ๋ณต์กํ ๋ฌธ์ ์ผ์น ๊ธฐ๋ฅ ๋ฑ์ ์ ๊ท์ ํจํด์ผ๋ก ์ํํ ์ ์๋ค. ์ ๊ทํํ์์ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ์ํํ๋ค. ๋ฌธ์ ๊ฒ์ ๋ฌธ์ ๋์ฒด ๋ฌธ์ ์ถ์ถ ์ ๊ทํํ์ ์ค์ต npm init -y ํฐ๋ฏธ๋์ ์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ package.json์ ์์ฑํ๋ค. npm i parcel-bundler -D parcel-bundler๋ฅผ ๊ฐ๋ฐ์์ฉ์ผ๋ก ์ค์นํ๋ค. ์ค์นํ๋ฉด .cache, dist ํ์ผ๊ณผ package-lock.json ํ์ผ์ด ์๊ธธ ๊ฒ์ด๋ค. npm run dev ํฐ๋ฏธ๋์ ์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ธฐ ์ ์ package.json ํ์ผ์ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค. "scripts": { "dev": "parcel ind..
JS. OMDB API
OMDB API ์๋ ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ๋ฐ์์ค๋ ์์ ์ ํ ๊ฒ์ด๋ค. http://www.omdbapi.com/ OMDb API - The Open Movie Database www.omdbapi.com Query String ์ฃผ์?์์ฑ=๊ฐ&์์ฑ=๊ฐ&์์ฑ=๊ฐ ์ฃผ์ ? apiKey = ํค ๊ฐ & S = ์ํ ์ ๋ชฉ E.g. ๊ฒจ์ธ์๊ตญ ์ํ ๋ฐ์ดํฐ ์์ฒญํ๊ธฐ http://www.omdbapi.com/?apikey=######&s=frozen axios Axios๋ ๋ธ๋ผ์ฐ์ , Node.js๋ฅผ ์ํ Promise API๋ฅผ ํ์ฉํ๋ HTTP ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์๋ ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ axios ์ค์น๋ฅผ ์๋ฃํ๋ค. https://github.com/axios/axios GitHub - axi..
JS. Storange
Storange ์น ์คํ ๋ฆฌ์ง์๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง (local Storage)์ ์ธ์ ์คํ ๋ฆฌ์ง (session Storage)๊ฐ ์๋ค. ์ด ๋ ์คํ ๋ฆฌ์ง์ ์ฐจ์ด์ ์ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๋ฒ์ ๋ด์์ ์ผ๋ง๋ ์ค๋ ๋ณด์กด๋๋๋์ ์๋ค. ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ์นํ์ด์ง์ ์ธ์ ์ด ๋๋๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋ค. ์ธ์ ์คํ ๋ฆฌ์ง๋ ์นํ์ด์ง์ ์ธ์ ์ด ๋๋ ๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ง์์ง๋ ๋ฐ๋ฉด์, Local Storange ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋ค. ๋ธ๋ผ์ฐ์ ์์ฒด์ ๋ฐ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ง๋์ง๋ง, ๋๋ฉ์ธ (domain)์ด ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ๊ทผํ ์ ์๋ค. ์ฆ, ๊ฐ์ ๋๋ฉ์ธ์ผ ๊ฒฝ์ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ๊ทผํ ์ ์๋ค. Session Storange ์ธ์ ์คํ ๋ฆฌ์ง๋..
JS. JSON
JSON JSON(JavaScript Object Notation)์ ์์ฑ-๊ฐ ์( attribute–value pairs and array data types (or any other serializable value)) ๋๋ "ํค-๊ฐ ์"์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ์ค๋ธ์ ํธ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐฉํ ํ์ค ํฌ๋งท์ด๋ค. ๋น๋๊ธฐ ๋ธ๋ผ์ฐ์ /์๋ฒ ํต์ (AJAX)์ ์ํด, ๋๊ฒ๋ XML(AJAX๊ฐ ์ฌ์ฉ)์ ๋์ฒดํ๋ ์ฃผ์ ๋ฐ์ดํฐ ํฌ๋งท์ด๋ค. ํนํ, ์ธํฐ๋ท์์ ์๋ฃ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ๊ทธ ์๋ฃ๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค. SON์ ๊ณต์ ์ธํฐ๋ท ๋ฏธ๋์ด ํ์ ์ application/json์ด๋ฉฐ, JSON์ ํ์ผ ํ์ฅ์๋ .json์ด๋ค. ์๋ฃํ ์(Number) ๋ฌธ์์ด(String): 0๊ฐ..
JS. Lodash ์ฌ์ฉ๋ฒ
Lodash ๊ณต์ ๋ฌธ์ https://lodash.com/ Lodash _.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 });_.partition([1, 2, 3, 4], n => n % 2);DownloadLodash is released under the MIT license & supports modern environments. Review the build differences & pick one that’s right for you.InstallationIn lodash.com documentation์ ํด๋ฆญํ๋ฉด, Lodash์ ์ฌ๋ฌ๊ฐ์ง ๋ฌธ๋ฒ์ ๋ํด์ ํ์ธํ ์ ์๋ ๋ฌธ์๊ฐ ์๋ค. Lodash ์ ์ฉํ ๋ฉ์๋ uniqBy(a, b) ๋ฐฐ์ด ๋ฐ์ดํฐ ๋ด์ ์๋ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ..
JS. ๋ฐ์ดํฐ ์ค์ต ๊ฐ์ ธ์ค๊ธฐ, ๋ด๋ณด๋ด๊ธฐ
๋ด๋ณด๋ด๊ธฐ ๋ณ์๋ ํจ์, ํด๋์ค๋ฅผ ์ ์ธํ ๋ ๋งจ ์์ export๋ฅผ ๋ถ์ด๋ฉด ๋ด๋ณด๋ด๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค. ๊ฐ์ ธ์ค๊ธฐ ๋ฌด์ธ๊ฐ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด ์ด์ ๋ํ ๋ชฉ๋ก์ ๋ง๋ค์ด import ๋ฅผ ๋ถ์ด๋ฉด ๊ฐ์ ธ์ค๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค. import as / export as as๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฆ์ ๋ฐ๊ฟ์ ๋ชจ๋์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ๋ณ์นญ์ ์ ํ๋ ๊ฒ์ด๋ค. export default ๋ด๋ณด๋ด๊ณ ์ ํ๋ ๊ฐ์ฒด ์์ export default ๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด, 'ํด๋น ๋ชจ๋์ ๊ฐ์ฒด๊ฐ ํ๋๋ง ์๋ค'๋ ์ฌ์ค์ ๋ํ๋ผ ์ ์๋ค. export named ๋ฐ์ดํฐ์ ์ด๋ฆ์ ๋ฐ๋์ ์ง์ ํด์ผ ํ๋ ํต๋ก, ์ด๋ฆ์ ์ง์ ํ ํต๋ก๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ๋ด๋ณด๋ด๊ธฐ๋ฅผ ํ ์ ์๋ค. ๋ชจ๋(Module) JavaScript ํ์ผ๋ก ์ด๋์ ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ตฌ์กฐ๋ก ๋ง๋ ํ์ผ์ ๋ชจ๋(Mo..