๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŒŒ | WEB DEV/Vanilla JS44

JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (19)_ case๋ฌธ, ๊ฐ์ฒด ํ™œ์šฉ ๋ณ€ํ˜• case๋ฌธ JS์—์„œ ํ™œ์šฉํ•˜๋Š” case๋ฌธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž 1. case๋ฌธ ํŠน์ • ๊ฐ’์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์กด์žฌํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. const option = 1; switch (option) { case 1: console.log('1๋ฒˆ'); break; case 2: console.log('2๋ฒˆ'); break; case 3: console.log('3๋ฒˆ'); break; default: console.log('๋ฌดํšจ'); } >>> 1๋ฒˆ switch ~ case ๋ฌธ์„ ์ด์šฉํ•œ ์˜ˆ์‹œ๋Š” ์œ„์™€ ๊ฐ™๋‹ค. break ์ฃผ์˜ํ•  ์ ์€ break ์ด๋‹ค. break๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•ด๋‹น case์˜ ๋‹ค์Œ case๊นŒ์ง€ ์—ฐ์†์ ์œผ๋กœ ์ˆ˜ํ–‰์ด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์„ค๊ณ„์˜๋„๋Œ€๋กœ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. defalut defalut๋Š”.. 2023. 3. 7.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (18)_ ์ œ์–ด๋ฌธ๊ณผ ์ข‹์€ ์ฝ”๋“œ? JS์—์„œ ์ œ๊ณตํ•˜๋Š” if/else๋ฌธ์„ ์ด์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž์ถ”์–ด ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. const x = 4; if (x % 2) { console.log('ํ™€์ˆ˜'); } else { console.log('์ง์ˆ˜'); } >>> ์ง์ˆ˜ ์œ„์˜ ์˜ˆ์‹œ๋Š” ์•„์ฃผ ๋‹จ์ˆœํ•œ ํ™€์ง ํŒ๋ณ„ ์ฝ”๋“œ์ธ๋ฐ ์ด๊ฒƒ๋ณด๋‹ค ๋” ๋ณต์žกํ•œ ์กฐ๊ฑด์„ ์ ์šฉํ•œ๋‹ค๋ฉด ๋‹น์—ฐํžˆ๋„ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ๊ฐ€๋…์„ฑ์ด ๋‚ฎ์€ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ) ํ™€์ˆ˜, ์ง์ˆ˜, 4์˜ ๋ฐฐ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์ฝ”๋“œ 1) if/else๋ฌธ์˜ ์ค‘์ฒฉ์„ ํ™œ์šฉํ•  ๊ฒฝ์šฐ const x = 6; if (x % 4) { if (x % 2) { console.log('ํ™€์ˆ˜'); } else { console.log('์ง์ˆ˜'); } } else { console.log('4์˜ ๋ฐฐ์ˆ˜'); } >>>.. 2023. 3. 4.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (17)_์Šค์ฝ”ํ”„ JS์—์„œ์˜ ์Šค์ฝ”ํ”„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ๋ธ”๋ก๋ฌธ (Block) ๋ธ”๋ก๋ฌธ์€ 0๊ฐœ ์ด์ƒ์˜ statement(๊ตฌ๋ฌธ)์„ ๋ฌถ์€ ๊ฒƒ์„ ์ด์•ผ๊ธฐํ•˜๊ณ , ํ•œ ์Œ์˜ ์ค‘๊ด„ํ˜ธ(brackets)๋กœ ๊ฐ์‹ธ์ ธ์žˆ๋‹ค. { ... } ์ผ๋ฐ˜์ ์œผ๋กœ ์ œ์–ด๋ฌธ, ํ•จ์ˆ˜ ๋“ฑ์— ์‚ฌ์šฉ์ด ๋˜๊ณ  ๋ธ”๋ก๋ฌธ์€ ์ƒˆ๋กœ์šด ์Šค์ฝ”ํ”„๋ฅผ ์ƒ์„ฑํ•œ๋‹ค 1) ์Šค์ฝ”ํ”„ (Scope) ์Šค์ฝ”ํ”„๋ž€ ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜, ์‹๋ณ„์ž๋“ค์ด ์œ ํšจํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๋งํ•œ๋‹ค. ์ฆ‰, ๋ธ”๋ก๋ฌธ์„ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋ฒ”์œ„๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ํŠน์ง• 1_ ๋ธ”๋ก ์•ˆ์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋ฅผ ๊ทธ ๋ฐ–์—์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ { let x = 1; console.log(x); } console.log(x); >>> 1 >>> Uncaught ReferenceError: x is not defined ์œ„์˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๋ธ”๋ก ์•ˆ์— ์„ ์–ธ.. 2023. 3. 3.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (16)_์›์‹œํƒ€์ž…๊ณผ ์ฐธ์กฐํƒ€์ž… JS์—๋Š” ์›์‹œํƒ€์ž…๊ณผ ์ฐธ์กฐํƒ€์ž…์ด ์กด์žฌํ•œ๋‹ค. ๊ทธ ๋‘˜์„ ๊ฐ’์˜ ๋ณต์‚ฌ์˜ ์ธก๋ฉด์—์„œ ๋น„๊ตํ•˜๋ฉฐ ์•Œ์•„๋ณด์ž! 1) ์›์‹œํƒ€์ž… ์›์‹œํƒ€์ž…์€ ๊ฐ’์— ์˜ํ•œ ๋ณต์‚ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.(Copy by value) let n1 = 1; let s1 = 'A'; //n1, s1 ๋ณต์‚ฌ let n2 = n1; let s2 = s1; //์ƒˆ๋กœ์šด ๊ฐ’ ํ• ๋‹น n2 = 2; s2 = 'B'; console.log(n1, s1); console.log(n2, s2); >>> 1 'A' >>> 2 'B' ์œ„์˜ ๊ฒฐ๊ณผ์ฒ˜๋Ÿผ ๊ฐ’ ์ž์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋ณต์‚ฌ๋ฅผ ํ•œ ์ดํ›„, ๋ฌด์Šจ ์ง“์„ ํ•˜๋“  ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค. 2) ์ฐธ์กฐํƒ€์ž… ์ฐธ์กฐํƒ€์ž…์€ '์ฃผ์†Œ๊ฐ’'์ด ๋ณต์‚ฌ๊ฐ€ ๋œ๋‹ค. (Copy by reference) const ob1 = { num : 1, str : 'A' }; /.. 2023. 3. 1.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (15)_์—ฐ์‚ฐ์ž(์‰ผํ‘œ, null๋ณ‘ํ•ฉ(??) ) ์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ๊ฒƒ ์™ธ์˜ ์—ฐ์‚ฐ์ž๋“ค์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด์ž! 1. ์‰ผํ‘œ ์—ฐ์‚ฐ์ž ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์‹คํ–‰๋˜๋ฉฐ, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. console.log( (1,2,3) ); >>> 3 console.log( (10/2, 5%2, 1+1) ); >>> 2 ์ด์ฒ˜๋Ÿผ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค! 2. null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž ?? null ๋˜๋Š” undefined๋ฅผ ๊ฑธ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ์ฆ‰, ์•ž์˜ ์›์†Œ๊ฐ€ ๋‘˜ ์ค‘ ํ•˜๋‚˜์ผ ๊ฒฝ์šฐ ๋’ค์˜ ์›์†Œ๋กœ ๋Œ€์ฒด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค! let x;//undefined x ?? console.log('Hello'); x = null;//null x ?? console.log('Hello'); x = 0; x ?? console.log('Hello'); //0์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ข…๋ฃŒ x = 1;.. 2023. 2. 26.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (14)_๋ถˆ๋ฆฌ์–ธ์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž๋“ค ๋ถˆ๋ฆฌ์–ธ(boolean)์— ๊ด€๋ จ๋œ ์—ฐ์‚ฐ์ž๋“ค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! let a = 1 === 2;//false let b = 'abc' !== 'def'//true let c = a !== b;//true let d = typeof a === typeof b === true;//true 4๋ฒˆ์งธ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์—ฐ์† ๋น„๊ต ์‹œ์—๋Š” ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์—ฐ์‚ฐ์ด ๋œ๋‹ค. (ํ•ด๋‹น ์˜ˆ์‹œ๋Š” ๊ฐ™์€ ์šฐ์„ ์ˆœ์œ„ ์ด๋ฏ€๋กœ ์•ž์˜ ์—ฐ์‚ฐ์ด ๋จผ์ €) 1. ์—ฐ์‚ฐ์ž 1) ๋ถ€์ • ์—ฐ์‚ฐ์ž ! ๋ฅผ ์ด์šฉํ•ด NOT ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. !true //false !!true//true ์ด๋•Œ !!๋กœ ๋‘๊ฐœ๋ฅผ ๋ถ™์ผ ๊ฒฝ์šฐ !๊ฐ€ ์„œ๋กœ ์น˜ํ™˜๋˜๋Š”๋ฐ ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ๊ฐ’์„ boolean ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. console.log(!!'a') >>> true 2) AND O.. 2023. 2. 26.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (13)_์ˆซ์ž์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž๋“ค ์ˆซ์ž์™€ ๊ด€๋ จ๋œ ์—ฐ์‚ฐ์ž๋“ค์„ ์•Œ์•„๋ณด์ž! 1. ์ˆซ์ž ์ž๋ฃŒํ˜• number 1) ์–‘๊ณผ ์Œ JS์—์„œ๋Š” ์ •์ˆ˜์™€ ์‹ค์ˆ˜ ๋ชจ๋‘ number ์ž๋ฃŒํ˜•์ด๋‹ค. ์ฆ‰, ์ •์ˆ˜๋„ ๋‚ด๋ถ€์—์„œ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. + ์™€ -๋กœ ์–‘๊ณผ ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค! 2) ๋ฌดํ•œ๋Œ€ Infinity ๋Š” ๋ฌดํ•œ๋Œ€๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•์œผ๋กœ number์˜ ๋ฒ”์ฃผ์— ์†ํ•œ๋‹ค. ์ด ๋˜ํ•œ ์–‘๊ณผ ์Œ์ด ์กด์žฌํ•œ๋‹ค. 3) NaN Not a Number์˜ ์•ฝ์ž๋กœ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. NaN ์—ญ์‹œ number์˜ ๋ฒ”์ฃผ์— ์†ํ•œ๋‹ค. let x = 1 / 'a'; let y = 2 * 'a'; let z = NaN; console.log(x, typeof x); console.log(y, typeof y); console.log(z, typeof z); >>> NaN 'numbe.. 2023. 2. 26.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (12)_๋ฌธ์ž์—ด์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž๋“ค ๋ฌธ์ž์—ด์— ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! 1. ๋น„๊ต ์—ฐ์‚ฐ์ž ์—ฐ์‚ฐ์ž ์˜๋ฏธ x == y ๊ฐ’์ด ๊ฐ™์Œ x === y ์ž๋ฃŒํ˜•๊ณผ ๊ฐ’์ด ๊ฐ™์Œ x != y ๊ฐ’์ด ๋‹ค๋ฆ„ x !== y ์ž๋ฃŒํ˜• ๋˜๋Š” ๊ฐ’์ด ๋‹ค๋ฆ„ x = y ์‚ฌ์ „ ์ˆœ ์ƒ์œผ๋กœ y๊ฐ€ ๋จผ์ € ์˜ค๊ฑฐ๋‚˜ ๊ฐ™์Œ console.log('1' == 1, '1' === 1); >> true false == ์€ ์ž๋ฃŒํ˜•์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์ง€๋งŒ ===์€ ์ž๋ฃŒํ˜•์„ ๊ณ ๋ คํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ===๊ณผ !==์„ ๊ถŒ์žฅํ•œ๋‹ค! console.log( 'A' >> true true false ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•  ๊ฒฝ์šฐ ์‚ฌ์ „ ์ƒ์˜ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•œ๋‹ค. ์ด๋•Œ ๋Œ€๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž๋ณด๋‹ค ๋น ๋ฅด๋‹ค. ์ˆซ์ž ๋ฌธ์ž์—ด์˜ ๋น„๊ต.. 2023. 2. 26.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (11)_ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด JS์—์„œ ๋ฌธ์ž์—ด ๋‚ด์˜ ์ผ์ •ํ•œ ํ‹€(template)์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์‚ฝ์ผํ•  ์ˆ˜ ์žˆ๋‹ค. let name = 'KASSID' let month = 11 let day = 23 console.log(`${name}๋‹˜์˜ ๋“ฑ๋ก์ผ์€ ${month}์›” ${day}์ผ ์ž…๋‹ˆ๋‹ค.`) -------- KASSID๋‹˜์˜ ๋“ฑ๋ก์ผ์€ 11์›” 23์ผ ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ’์„ ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. let num = 3; let getTwice = (x)=>{ return x * 2 } console.log(`${num}์˜ ๋‘ ๋ฐฐ๋Š” ${getTwice(num)}`) -------- 3์˜ ๋‘ ๋ฐฐ๋Š” 6 2022. 11. 23.