๐ Front-End/JavaScript
๋ฌธ์์ด์ ๋ฐฐ์ด ํํ๋ก ๋ณํ โก .split() const word = 'apple' word.split('') // ['a','p','p','l','e'] ๋ฐฐ์ด์ ์์๋ฅผ ํ๋์ ๋ฌธ์์ด๋ก ๋ณํ โก๏ธ .join() ๋งค๊ฐ๋ณ์ ์๋ฆฌ์ ๊ตฌ๋ถ์๋ฅผ ๋ฃ์ง ์์ผ๋ฉด, ๋ฐฐ์ด์ ์์๋ค์ด ์ผํ๋ก ๊ตฌ๋ถ์ด๋๊ณ , ๊ตฌ๋ถ์๊ฐ ๋น ๋ฌธ์์ด์ด๋ฉด ๊ณต๋ฐฑ ์์ด ์ฐ๊ฒฐ ๋ฉ๋๋ค. const animals = ['rabbit', 'gorilla' , 'lion', 'bear'] animals.join() // 'rabbit,gorilla,lion,bear' animals.join('') // 'rabbitgorillalionbear' animals.join(' ') // 'rabbit gorilla lion bear' animals.join(' & ')..
๐ Front-End/JavaScript
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ ํ๋ ์ค ์ ๊ท์์ ์ฌ์ฉํด์ ๋ฌธ์์ด์ ์นํํ๋ ๋ฐฉ๋ฒ์ ์๋ก ์๊ฒ ๋์์ต๋๋ค. ์ฐ์ replace() ๋ฉ์๋๋ ํน์ ๋ฌธ์์ด์ ์นํ ํ ๋ ์ฌ์ฉ ํฉ๋๋ค. โ ํ์ง๋ง, ๋ฌธ์์ด์์ ๋ณ๊ฒฝํ๋ ค๋ ๋ฌธ์๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต๋ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ๋ก ๋ฐ๊ฒฌํ ๋ฌธ์์ด๋ง ์นํ ํฉ๋๋ค. ์ฌ์ฉ๋ฒ replace('์ฐพ์ ๋ฌธ์์ด or ์ ๊ท์', '๋ณ๊ฒฝํ๋ ๋ฌธ์์ด') ์์ let str = "์ฌ๊ณผ, ๋ฐฐ, ์๋ฐ"; let strChange = str.replace("๋ฐฐ", "์ค๋ ์ง"); console.log(strChange); // ์ฌ๊ณผ, ์ค๋ ์ง, ์๋ฐ ์ ๊ท์ โ โ ์ ํด์ง ๊ท์น์ ์ฌ์ฉํด ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ณํํ ์๋ ์๊ณ ์ซ์,๋ฒํธ๋ ๋งจ ์ฒ์, ๋งจ ๋ค๋ง ๋ณํํ ์ ์์ต๋๋ค. ์ ๊ท์ ์ต์
์ต์
g ๋ชจ๋ ํจํด ์ฒดํฌ(global) i ๋์๋ฌธ์..
๐ Front-End/JavaScript
๋ค๋ฅธ ํ์ผ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ฅ์ ํน์ ํ์ผ์์ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. Import & Export ์ํฌํธ(Import)์ ์ต์คํฌํธ(Export)๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฝ๋๋ฅผ ๋ชจ๋ํ ํ ์ ์๋ ๊ธฐ๋ฅ ๊ธฐ๋ณธ ๋ฌธ๋ฒ export ๋ณ์, ํจ์ ๋ค๋ฅธ ํ์ผ์์ ๊ฐ์ ธ๋ค ์ธ ๋ณ์๋ ํจ์์ ์์ export ๋ผ๋ ํค์๋๋ฅผ ๋ถ์
๋๋ค. ์ต์คํฌํธ๋ ํ์ผ์ ์ํฌํธ๋ก ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. import { ๋ถ๋ฌ์ฌ ๋ณ์ ๋๋ ํจ์ ์ด๋ฆ } from 'ํ์ผ ๊ฒฝ๋ก'; ์์ math.js export let pi = 3.14; export function sum(a, b) { return a + b; } app.js import { pi } from './math.js'; console.log(pi); // 3.14 i..
๐ Front-End/JavaScript
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ ๋ณด์ ์ ๊ทผํ๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ์ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ ์ด ํ ์ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด ๋ชจ๋ธ์ด ๋ฐ๋ก ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ(BOM, Browser Object Model)์
๋๋ค. BOM window Global Context(์ ์ญ ๊ณต๊ฐ)์ด์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ํ๋ด๋ ๊ฐ์ฒด navigator ๋ธ๋ผ์ฐ์ ์ ์ด์์ฒด์ ๋ํ ์ ๋ณด screen ์ฌ์ฉ์ ํ๊ฒฝ์ ๋์คํ๋ ์ด(๋ชจ๋ํฐ) ์ ๋ณด๋ฅผ ๊ฐ์ง๋ ๊ฐ์ฒด location ํ์ฌ URL ์ ๋ํ ์ ๋ณด, ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ์๊ฐ ์์ฒญํ๋ URL history ํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ทผํ๋ URL history document ํ์ฌ ๋ฌธ์์ ๋ํ ์ ๋ณด ์ฐธ๊ณ http://www.tcpschool.com/javascript/js_bom_window https://..
๐ Front-End/JavaScript
XML์ด๋ HTML ๋ฌธ์์ ์ ๊ทผํ๊ธฐ ์ํ ์ผ์ข
์ ์ธํฐํ์ด์ค์
๋๋ค. ์ด ๊ฐ์ฒด ๋ชจ๋ธ์ ๋ฌธ์ ๋ด์ ๋ชจ๋ ์์๋ฅผ ์ ์ํ๊ณ , ๊ฐ๊ฐ์ ์์์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋์ ์๋ฏธ ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ด์ง๋ฅผ ์ธ์ํ๋ ๋ฐฉ์ ์ข์ ์๋ฏธ Document ๊ฐ์ฒด์ ๊ด๋ จ๋ ๊ฐ์ฒด์ ์งํฉ DOM ์์๋ ์ฐ๋ฆฌ๊ฐ ์ ์ํ ์์๋ค์ด Tree ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ด์ฉํ์ฌ JS๋ก ์นํ์ด์ง๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. HTML์ , ๊ทธ๋ฆฌ๊ณ ์ ์์ ๊ฐ๊ฐ์ tag ๋ค์ ์์(element)๋ผ๊ณ ๋ถ๋ฅด๊ณ , JS์์๋ ๋ฌธ์ ๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. DOM์ ์ด์ฉํ๋ฉด HTML ํ๊ทธ๋ฅผ ์ถ๊ฐ, ์์ ,์ญ์ ๋ฑ ํ ์ ์์ต๋๋ค. DOM Tree ์ ๋ฆฌ ๋ธ๋ผ์ฐ์ ๊ฐ HTML ํ์ผ์ ์ฝ์ ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋, ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๊ดํ ์ ์๋ objec..
๐ Front-End/JavaScript
๋๋ฑ์ฐ์ฐ์(==)๋ ํผ์ฐ์ฐ์๋ค์ ๊ฐ๋ง ๋น๊ตํฉ๋๋ค. ์ฆ, == ์ฐ์ฐ์๋ ํ์
๋ณํ์ด ํ์ํ ๊ฒฝ์ฐ ํ์
๋ณํ์ ํ ํ์ ๋๋ฑํ์ง ๋น๊ตํ๋ค. ์ผ์น์ฐ์ฐ์(===)๋ ํผ์ฐ์ฐ์๋ค์ ๊ฐ๊ณผ ํ์
์ ๋ชจ๋ ๋น๊ตํฉ๋๋ค. ์ฆ, === ์ฐ์ฐ์๋ ํ์
๋ณํ์ ํ์ง ์๊ณ ๋ ๊ฐ์ด ๊ฐ์ ํ์
์ด ์๋ ๊ฒฝ์ฐ ===๋ false๋ฅผ ๋ฐํํ๋ค. ์์ console.log('01' == 1) // true, ๋ฌธ์์ด '01'์ด ์ซ์ 1๋ก ๋ณํ๋ ํ ๋น๊ต ์งํ console.log(true == 1) // true, true ๋ 1, false ๋ 0์ผ๋ก ๋ณํ๋ ํ ๋น๊ต console.log(false == 0) // true console.log(0 === false) // false null์ด๋ undefined์ ๋น๊ต ๋ณ์์ ๊ฐ์ด null ..
๐ Front-End/JavaScript
ECMAScript5 ๋ถํฐ ๋์
๋ ๊ธฐ๋ฅ์ผ๋ก ๊ธฐ์กด์ ๋ฌด์๋๋ ์๋ฌ๋ค๋ก ํ์ฌ๊ธ ์๋ฌ๋ฅผ ๋ฐ์ ์ํต๋๋ค. ์ฌ์ฉํ๋ ์ด์ ์๋ฐ ์คํฌ๋ฆฝํธ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ํ์ง๋ง ES5๋ถํฐ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ณ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ผ๋ถ๊ฐ ๋ณ๊ฒฝ ๋์์ต๋๋ค. ๊ทธ์ ๋ฐ๋ผ ๊ธฐ์กด ๊ธฐ๋ฅ์ด ๋ณ๊ฒฝ๋์ด ํธํ์ฑ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋์๊ณ , ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ฒ์ด ์๊ฒฉ ๋ชจ๋(strict mode) ์
๋๋ค. ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ "use strict"; // ์ด ์ฝ๋๋ ๋ชจ๋ํ ๋ฐฉ์์ผ๋ก ์คํ๋ฉ๋๋ค. ... ์ต์๋จ์ ์ ์ธ ํฉ๋๋ค. ์์ ์ฒ๋ผ ์ฌ์ฉํ๋ฉด ํ์ผ ์ ์ฒด์ ์ ์ฉ์ด๋๊ณ , ์ํ๋ ํจ์ ์ค์ฝํ์๋ง ์ ์ฉ์ด ๊ฐ๋ฅ ํฉ๋๋ค. ์ฐธ๊ณ MDN, use strict https://ko.javascript.inf..
๐ Front-End/JavaScript
async/await ๋ฅผ ์ฌ์ฉํ๋ฉด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋น๊ต์ ์ฝ๊ณ ๋ช
ํํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. promise ์ฌ์ฉ ํ๊ธฐ ์ (๋ฌธ์ ์ ) function fetchUser(){ // ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋๋ฐ 10์ด ์ ๋ ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ return 'hyunho'; } const user = fetchUser() console.log(user) ์์์ฒ๋ผ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์ฝ๋๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ผ๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋๊ธฐ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์, ์ฆ ํ์ค ํ์ค์ฉ ํ์ค์ด ๋๋์ผ ๊ทธ ๋ค์ ์ค๋ก ๋์ด ๊ฐ๋๋ค. fetchUser() ํจ์๊ฐ ์ ์ธ๋ ๊ณณ์ผ๋ก ๊ฐ์ ํจ์์ ์ฝ๋ ๋ธ๋ก์ ์คํํ๋๋ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋๋ฐ 10์ด๊ฐ ๊ฑธ๋ฆฌ๋๊น 10์ด๋์ ๋จธ๋ฌด๋ฅด๊ณ ์๊ณ , ๊ทธ๋ฆฌ๊ณ ๋์์ผ 'hyunho' ๊ฐ ๋ฆฌํด์ด..