user-img
Language/JS 31
thumbnail
์ฝœ๋ฐฑ (Call Back)
1. ์ฝœ๋ฐฑ์ด๋ž€? ํ•˜๋‚˜์˜ ์ฝ”๋“œ์— ์ธ์ˆ˜๋กœ ๋“ค์–ด๊ฐ€๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ Call back์ด๋ผ ํ•œ๋‹ค. ์–ด๋–ค ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ๋“ค์–ด๊ฐ€๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜๋ฅผ Call back ํ•จ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. 2. ์ฝœ๋ฐฑ ์˜ˆ์ œ 3๊ฐ€์ง€ (1) ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ const a = (callback) => { console.log("A"); callback(); }; const b = () => { console.log("B"); }; a(b); ๋งจ ๋งˆ์ง€๋ง‰ ๋ฌธ์„ ๋ณด๋ฉด, a๋ผ๋Š” ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ b ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๋„ฃ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด console.log(b) ํ–ˆ์„ ๋•Œ ์ฒ˜๋Ÿผ b ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ a์˜ ์ธ์ˆ˜๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  3๋ฒˆ์งธ ์ค„์„ ๋ณด๋ฉด callback()์€ ์ธ์ˆ˜๋กœ ๋ฐ›์€ b() ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ์‹คํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ถœ๋ ฅ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (2) ์‘์šฉ // ..
2023.04.20
Language/JS
์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ (IIFE)
1. ์ฆ‰์‹œ์‹คํ–‰ํ•จ์ˆ˜ ํ•จ์ˆ˜๋Š” ์›๋ž˜ ์„ ์–ธ๋ถ€ (ํ˜น์€ ํ‘œํ˜„์‹)๊ณผ ํ˜ธ์ถœ๋ถ€๊ฐ€ ๋”ฐ๋กœ ํ•„์š”ํ•˜๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์„ ์–ธ๋ถ€๋Š” ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ๊ธฐ์ˆ ๋งŒ ํ•˜์—ฌ ๋†“์€ ๊ณณ์ด๊ณ , ํ˜ธ์ถœ๋ถ€๋Š” ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์„ ์“ฐ๋Š” ๊ณณ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰์‹œ ์‹คํ–‰ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜์˜ ์„ ์–ธ๊ณผ ํ˜ธ์ถœ์„ ํ•œ๋ฒˆ์— ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ๋ฐ‘์— ์ฆ‰์‹œ ์‹คํ–‰ํ•จ์ˆ˜ ์‚ฌ์šฉ ํŒจํ„ด์„ ๋ฐฐ์šฐ๊ฒ ์ง€๋งŒ, ๋Œ€ํ‘œ์ ์ธ ํŒจํ„ด์œผ๋กœ ์ฆ‰์‹œ์‹คํ–‰ํ•จ์ˆ˜์˜ ๋ชจ์Šต์„ ์‚ดํŽด๋ณด๋ฉด, //(์‹คํ–‰ํ•  ํ•จ์ˆ˜)(์ธ์ˆ˜); // ์˜ˆ์‹œ ((a) => { console.log(a*2); })(7); ์ด์™€ ๊ฐ™๋‹ค. ()() ๊ฐ€ ๋ถ™์–ด ์žˆ๋Š” ํ˜•ํƒœ๋กœ, ์ฒซ๋ฒˆ์งธ ()์—๋Š” ์‹คํ–‰ํ•  ํ•จ์ˆ˜, ๋‘๋ฒˆ์งธ ()์—๋Š” ํ•จ์ˆ˜์— ๋“ค์–ด๊ฐˆ ์ธ์ž๋ฅผ ๊ธฐ์ˆ ํ•˜๋ฉด ๋œ๋‹ค. 2. ํŒจํ„ด // ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํŒจํ„ด // 1. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์‚ฌ์šฉ ํŒจํ„ด -> ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์€..
2023.04.20
Language/JS
thumbnail
ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
0. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜์— ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๋Š” ํ˜•์‹์ด๋ฏ€๋กœ ํ•จ์ˆ˜ ์„ ์–ธ์ด ์•„๋‹ˆ๋ผ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ์ทจ๊ธ‰์„ ๋ฐ›๋Š”๋‹ค. (ํ˜ธ์ด์ŠคํŒ… ๋ถˆ๊ฐ€) 1. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ํŒจํ„ด const a = () => {}; // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜์ด๋ฉด ์†Œ๊ด„ํ˜ธ ์ƒ๋žต ๊ฐ€๋Šฅ const b = x => {}; const c = (x, y) => {}; // ๋งŒ์•ฝ ํ•จ์ˆ˜ ๋™์ž‘๋ถ€๋ถ„์— ๋‹ค๋ฅธ ๋กœ์ง ์—†์ด return๋ฌธ๋งŒ ์žˆ๋‹ค๋ฉด {}์™€ return ํ‚ค์›Œ๋“œ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. const d = (x) => {return x * x;}; const e = (x) => x * x; // ๋งŒ์•ฝ ํ•จ์ˆ˜ ๋™์ž‘๋ถ€๋ถ„ ๋‚ด์— return ๋ง๊ณ  ๋‹ค๋ฅธ ๋กœ์ง์ด ์žˆ๋‹ค๋ฉด { return} ํ˜•ํƒœ๋กœ ์ ์–ด์ค˜์•ผ ํ•จ. const f = (x) => { console.log(x * x); return x..
2023.04.19
Language/JS
thumbnail
๋งค๊ฐœ๋ณ€์ˆ˜ ํŒจํ„ด
0. ๊ธฐ๋ณธํ˜• function sum(a, b) { // ์—ฌ๊ธฐ๋Š” ์ธ์ˆ˜๋ฅผ ๋ฐ›๋Š” ๋งค๊ฐœ์ฒด ๋งค๊ฐœ๋ณ€์ˆ˜ return a + b; } console.log(sum(1, 2)); // ์—ฌ๊ธฐ๊ฐ€ ๋“ค์–ด์˜จ ๊ฐ’ ์ธ์ˆ˜ ์ธ์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‘ ์šฉ์–ด๋ฅผ ํ—ท๊ฐˆ๋ ธ์—ˆ๋Š”๋ฐ, ์ธ์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์‹ค์ œ ๋“ค์–ด์˜ค๋Š” ๊ฐ’์„ ๋œปํ•˜๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์— ์ ํžˆ๋Š” ์ธ์ˆ˜๋ฅผ ๋ฐ›๋Š” ๋งค๊ฐœ์ฒด๋ฅผ ๋œปํ•œ๋‹ค. 1. ๊ธฐ๋ณธ๊ฐ’ ์œ„์˜ ํ•จ์ˆ˜์—์„œ ๋งŒ์•ฝ์— ์‚ฌ์šฉ์ž๊ฐ€ sum ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์ธ์ˆ˜๋ฅผ ํ•˜๋‚˜๋งŒ ์“ด ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? console.log(sum(7)); // 7๊ณผ undefined๋ฅผ ๋” ํ•ด์„œ not a number ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ๋Š” undefined๊ฐ€ ๋“ค์–ด๊ฐ€์„œ 7 + undefined๊ฐ€ ๋˜์–ด NaN์ด ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค. '..
2023.04.19
Language/JS
thumbnail
ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ณผ ์ข…๋ฃŒ
1. return (1) ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ•  return ์˜†์— ์ ํžŒ ๋‚ด์šฉ์„ ๋ฐ˜ํ™˜ ๊ฐ’์ด๋ผ ํ•œ๋‹ค. ๋ฐ˜ํ™˜ ๊ฐ’์€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ, ํ˜ธ์ถœ๋ฌธ ์ž๋ฆฌ์— ๋Œ€์‹ ํ•ด์„œ ์ ํž ๊ฐ’์ด๋‹ค. function hello() { return "hello~"; } console.log(hello()); // console.log("hello~")์™€ ๊ฐ™์€ ๋ง์ด๋‹ค. ** return ์˜†์— ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ์ ์–ด์คฌ์„ ์‹œ? ** return ๋’ค์— ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ์ ์–ด์ฃผ๋ฉด undefined๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. function hello2() { return; } console.log(hello2()); (2) ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ์—ญํ•  ํ•จ์ˆ˜ ์ฝ”๋“œ๋ฅผ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ return ๋ฌธ์„ ๋งŒ๋‚˜๋ฉด ๊ทธ ์ž๋ฆฌ์—์„œ ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  return ๊ฐ’ ๋ฐ˜ํ™˜ ๋’ค, ํƒˆ์ถœํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ..
2023.04.18
Language/JS
thumbnail
ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ๊ณผ ํ•จ์ˆ˜ ํ‘œํ˜„ ์‹์˜ ์ฐจ์ด ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ…
1. ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ ํ•จ์ˆ˜ ์„ ์–ธ Keyword๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฌธ์žฅ. //ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ function hello () {} function ํ•จ์ˆ˜์ด๋ฆ„ (์ธ์ˆ˜ ๋„ฃ๋Š” ์ž๋ฆฌ) {๋™์ž‘ ๋กœ์ง} ํ˜•ํƒœ๋กœ ์ ํžŒ๋‹ค. 2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ๋ณ€์ˆ˜์— ์ต๋ช…ํ•จ์ˆ˜๋‚˜ ๊ธฐ๋ช… ํ•จ์ˆ˜๋ฅผ ๋Œ€์ž…ํ•˜๋Š” ํ˜•ํƒœ์˜ ํ‘œํ˜„์‹์ด๋‹ค. // ํ‘œํ˜„์‹ 1. ๊ธฐ๋ช…ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ๋Œ€์ž… const world = function hello () {} // ํ‘œํ˜„์‹ 2. ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ๋Œ€์ž… const world2 = function () {} const world3 = () => {} ํ‘œํ˜„์‹ 1์ธ ๊ธฐ๋ช…ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•  ์‹œ ์›๋ž˜ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์œผ๋กœ ๋” ์ด์ƒ ํ˜ธ์ถœํ•˜์—ฌ ์“ฐ์ง€ ๋ชปํ•œ๋‹ค. ๋ฌด์กฐ๊ฑด ๋Œ€์ž…ํ•œ ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ๋งŒ ํ˜ธ์ถœํ•˜์—ฌ ์“ธ ์ˆ˜ ์žˆ๋‹ค. hello(); // error -> ์—ฅ..
2023.04.18
Language/JS
HTML์—์„œ JavaScript ์“ฐ๊ธฐ
1. HTML ๋‚ด๋ถ€์— JavaScript๋ฅผ ์“ฐ๋Š” ๊ฒƒ (CSS ์ธ๋ผ์ธ ํ˜•์‹๊ณผ ์œ ์‚ฌ) html ๋‚ด์—์„œ script๋ž€ ํƒœ๊ทธ๋ฅผ ์“ฐ๋ฉด ๊ทธ ํƒœ๊ทธ ์•ˆ ์ชฝ์— ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 2. ์™ธ๋ถ€ ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ JavaScript ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ ์‚ฌ์ด์— ์™ธ๋ถ€ ํŒŒ์ผ์˜ JS ์ฝ”๋“œ ์ „์ฒด๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค. ๋งŒ์•ฝ ์ด๋ ‡๊ฒŒ ์“ด๋‹ค๋ฉด? ํ•ด๋‹น ๊ฒฝ์šฐ, ์‚ฌ์ด์— ์“ฐ์ธ ์ฝ”๋“œ ๋‚ด์šฉ์€ ๋ฌด์‹œ๋œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด scr์— ์ ํžŒ ๋‚ด์šฉ์ด ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
2023.04.17
Language/JS
thumbnail
While, do while
1. while break ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋Œ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ( ) ์•ˆ์ด๋“  { } ์•ˆ์ด๋“  ์ฆ๊ฐ๊ณผ ์กฐ๊ฑด๋ฌธ์„ ๋‹ฌ์•„์ค˜์•ผ ํ•œ๋‹ค. 2. do while while ์กฐ๊ฑด์— ์ฒ˜์Œ ๋ถ€ํ„ฐ ์•ˆ ๋งž์•„์„œ ๋ช…๋ น ์‹คํ–‰ ๋ถ€๊ฐ€ ์•„์˜ˆ ์‹คํ–‰์ด ์•ˆ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์„ ๋ง‰๊ณ ์ž ์“ฐ๋Š” do while ๋ฌธ์€ ์ฒ˜์Œ ํ•œ๋ฒˆ์€ ๋ฌธ์žฅ์ด ์‹คํ–‰๋˜๋„๋ก ํ•ด์ค€๋‹ค. do {} while ()์€ ๋จผ์ € ๋ช…๋ น์–ด ๋ถ€๋ถ„์„ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๊ณ , ๋ฃจํ”„์— ์ง„์ž…ํ•œ๋‹ค. 0์€ ๋Œ€ํ‘œ์ ์ธ falsey ๊ฐ’์ด๋ผ ์ฐธ์ด ์•ˆ๋œ๋‹ค. ์ด ๋ฌธ์žฅ์„ ๋งจ ์ฒ˜์Œ ํ•œ๋ฒˆ์€ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฌธ์žฅ์„ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๊ณ  ๋ฃจํ”„์— ์ง„์ž…ํ•œ๋‹ค.
2023.04.14
Language/JS
thumbnail
For ๋ฐ˜๋ณต๋ฌธ, For of, For in
1. For ๋ฐ˜๋ณต๋ฌธ // ์„ ์–ธ๋ถ€ ; ์กฐ๊ฑด๋ถ€; ์ฆ๊ฐ์—ฐ์‚ฐ๋ถ€; // ์กฐ๊ฑด์— ๋งž๋Š”์ง€ ํ™•์ธ -> loop ๋Œ๋ฆด๋ ค๋Š” ๋ช…๋ น ์‹คํ–‰ -> ์ฆ๊ฐ ์—ฐ์‚ฐ -> ์กฐ๊ฑด์— ๋งž๋Š”์ง€ ํ™•์ธ (๋ฐ˜๋ณต) for (let i = 0; i < 10; i++) { console.log(i); } (1) break loop๋ฅผ ๋Œ๋‹ค๊ฐ€ break๋ฅผ ๋งŒ๋‚˜๋ฉด ๊ทธ ์ž๋ฆฌ์—์„œ ํƒˆ์ถœ i๊ฐ€ 9๊ฐ€ ๋˜๋Š” ์ˆœ๊ฐ„ ํƒˆ์ถœ. (2) Continue continue๋ฅผ ๋งŒ๋‚˜๋ฉด, ํ•ด๋‹น ํ‚ค์›Œ๋“œ ๋ฐ‘์˜ ์ฝ”๋“œ๋“ค์€ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ loop๋กœ ๋Œ์•„๊ฐ. if ์กฐ๊ฑด ๋งŒ์กฑํ•ด์„œ continue ๋งŒ๋‚˜๋ฉด ๋ฐ‘์˜ ๋ฌธ์žฅ๋“ค ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ๋ฐ”๋กœ loop๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ. if ์กฐ๊ฑด ๋งŒ์กฑ ๋ชปํ•ด์„œ ์ง€๋‚˜๊ฐˆ ๊ฒฝ์šฐ , ๊ทธ๋Œ€๋กœ console.log ์ฐํž˜. 2. For of ๋ฐ˜๋ณต๋ฌธ (๋ฐฐ์—ด์—์„œ ์“ฐ์ž„) java์—์„œ์˜ for ..
2023.04.14
Language/JS
thumbnail
If์™€ Switch ๋ฌธ
1. if 2. switch ๋ฌธ (1) ํ˜•ํƒœ let comment = ""; age = 14; switch (age) { case 14: comment = "์ค‘ํ•™๊ต 1ํ•™๋…„"; break; case 15: comment = "์ค‘ํ•™๊ต 2ํ•™๋…„"; break; case 16: comment = "์ค‘ํ•™๊ต 3ํ•™๋…„"; break; case 17: comment = "๊ณ ๋“ฑํ•™๊ต 1ํ•™๋…„"; break; case 18: comment = "๊ณ ๋“ฑํ•™๊ต 2ํ•™๋…„"; break; case 17: comment = "๊ณ ๋“ฑํ•™๊ต 3ํ•™๋…„"; break; default: comment = "์„ฑ์ธ์ด๊ฑฐ๋‚˜ ์ดˆ๋“ฑํ•™์ƒ์ž…๋‹ˆ๋‹ค."; } console.log(comment); ์ธ์ˆ˜๋กœ ๋ฐ›์€ ๊ฐ’์„ case ์— ์ ํ˜€์žˆ๋Š” ๊ฐ’๋“ค๊ณผ ์ฐจ๋ก€๋Œ€๋กœ ๋น„๊ตํ•œ๋‹ค. ๊ทธ ์ค‘ ์ผ์น˜ํ•˜..
2023.04.14
Language/JS
thumbnail
์„ ํƒ์  ์ฒด์ด๋‹(Optional Chaining)
**์™„์ „ ์ž˜ ๋ณด๊ณ  ๋ฐฐ์šด ๊ณณ ** ์˜ต์…”๋„ ์ฒด์ด๋‹ '?.' (javascript.info) ์˜ต์…”๋„ ์ฒด์ด๋‹ '?.' ko.javascript.info 1. Optional Chaining ์ด ์ƒ๊ธด ์ด์œ  (1) ์ƒ๊ธด ์ด์œ  ๊ฐ์ฒด ์•ˆ์˜ ๋ฉค๋ฒ„์˜ ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•ด ์  ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ–ˆ๋Š”๋ฐ, ๊ทธ ๋ฉค๋ฒ„๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ˆœ๊ฐ„์ด ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์›๋ž˜๋ผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. const User {} console.log(user.adderess); // syntax error ์ด์™€ ๊ฐ™์ด ์šฐ๋ฆฌ๊ฐ€ ๊ฐ์ฒด ์•ˆ์˜ ํŠน์ • ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•˜์ง€๋งŒ, ๊ทธ ๋ฉค๋ฒ„๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์— Error๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด OptionalChaing์ด ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด๋‹ค. (2) Optional Chaining ์—†์—ˆ์„ ๋• ์–ด๋–ป๊ฒŒ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‚˜์š”? && ์ด ..
2023.04.14
Language/JS
thumbnail
๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น
1. ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์ด๋ž€? ๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ ๋ฐฐ์—ด์—์„œ ์›์†Œ๋ฅผ ์ผ์ผํžˆ ๋นผ์„œ ๋ณ€์ˆ˜์— ์ง‘์–ด ๋„ฃ๋Š”๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•  ๊ฒƒ์ด๋‹ค. const arr = [1,2,3] const a = arr[0] const b = arr[1] const c = arr[2] JS์—์„œ๋Š” ์œ„ ๊ณผ์ •์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ ์ค„์˜ ์ฝ”๋“œ๋กœ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด๋ฅผ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์›์†Œ๋“ค์„ ์ฐข์–ด์„œ ๋ณ€์ˆ˜ ํ•˜๋‚˜ ํ•˜๋‚˜์— ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. 2. ๋ฐฐ์—ด์—์„œ์˜ ๊ตฌ์กฐ ๋ถ„ํ•ด (1) ๊ธฐ๋ณธํ˜• // ๋ฐฐ์—ด ์„ ์–ธ const arr = [1,2,3] // ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น ์ด์šฉ: ๋ณ€์ˆ˜ a, b, c์— ๊ฐ๊ฐ 1, 2, 3์ด ์ฐจ๋ก€๋กœ ๋“ค์–ด๊ฐ„๋‹ค. const [a,b,c] = arr console.log(a,b,c) // 1 2 3์ด ..
2023.04.02
Language/JS
thumbnail
์ „๊ฐœ ์—ฐ์‚ฐ์ž
1. ์ •์˜ (1) ํ˜•ํƒœ const a = [1,2,3] console.log(a) // [1,2,3] console.log(...a) // 1,2,3 const b = {a:'apple', b: 'banana', c: 'car'} const c = {d:'digest', e: 'earth', f: 'fool\'s day'} const r = {...b,...c} console.log(r) // {a:'apple', b: 'banana', c: 'car', d:'digest', e: 'earth', f: 'fool\'s day'} (2) ์ •์˜ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ์›์†Œ๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ์ „๊ฐœํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ๋ฐฐ์—ด์˜ ๋Œ€๊ด„ํ˜ธ๋‚˜, ๊ฐ์ฒด์˜ ์ค‘๊ด„ํ˜ธ๋ฅผ ๋ฒ—๊ธด๋‹ค. ** console.log() ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ data๋ฅผ ์ฐ๋Š” ๋ฒ• ,..
2023.04.02
Language/JS
thumbnail
Nullish ๋ณ‘ํ•ฉ ๊ณผ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
1. Nullish๋ณ‘ํ•ฉ (1) ์ •์˜ const num = A ?? B ?? C ... // null ์ด๋‚˜ undefined๊ฐ€ ์•„๋‹Œ ๋งจ ์ฒ˜์Œ ๋งŒ๋‚œ data๋ฅผ ๋ฐ˜ํ™˜ // ๋งŒ์•ฝ ์—ฐ์‚ฐ์ž ์•ˆ์— ๋ชจ๋“  ๊ฐ’๋“ค์ด null ์ด๋‚˜ undefined ๋ผ๋ฉด ๋งจ ๋งˆ์ง€๋ง‰์˜ nullish ๊ฐ’์„ ๋ฐ˜ํ™˜ // (null , undifined ํ•ฉ์ณ์„œ nullish๋ผ๊ณ  ํ•œ๋‹ค.) OR์€ false๊ฐ€ ์•„๋‹Œ ๋งจ ์ฒ˜์Œ ๋งŒ๋‚œ data๋ฅผ ๋ฐ˜ํ™˜ ํ•˜๋Š” ์—ฐ์‚ฐ์ž์˜€๋‹ค. Nullish ๋ณ‘ํ•ฉ์€ OR ๋ณด๋‹ค ๊ฑฐ๋ฅด๋Š” ๋ฒ”์œ„๊ฐ€ ์ ์–ด์ง„ ์—ฐ์‚ฐ์ž์ด๋‹ค. (2) ์˜ˆ์‹œ๋“ค a. OR ๊ณผ Nullish์˜ ์ฐจ์ด 0์€ false ๊ฐ’์ด๊ณ , 7์ด ์ œ์ผ ๋จผ์ € ๋งŒ๋‚œ 0์ด ์•„๋‹Œ ๊ฐ’์ž„์œผ๋กœ 7์„ ๋ฐ˜ํ™˜ 0์€ ์ œ์ผ ์ฒ˜์Œ ๋งŒ๋‚œ nullish๊ฐ€ ์•„๋‹Œ ๊ฐ’์ž„์œผ๋กœ 0์„ ๋ฐ˜ํ™˜ b. ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ๋“ค 2. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž (..
2023.04.02
Language/JS
thumbnail
๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž && ||
1. ๊ทธ๋ฆฌ๊ณ  && (1) ์ •์˜ A&&B ๋Š” A, B ๋‘˜ ๋‹ค ์ฐธ์ด์—ฌ์•ผ์ง€๋งŒ ์ฐธ์„ ๋ฐ˜ํ™˜ const A = true const B = true if (A&&B) { console.log('A,B ๋‘˜ ๋‹ค ์ฐธ์ด๋‹ค.') } // A,B ๋‘˜ ๋‹ค ์ฐธ์ด๋‹ค ๋ฐ˜ํ™˜ (2) JS๋งŒ์˜ ํŠน์ด์  ์œ„์—์„œ ๊ทธ๋ƒฅ 'A,B ๋‘˜ ๋‹ค ์ฐธ์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜' ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์ง€๋งŒ, JS๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ๋‹ฌ๋ฆฌ ์—ฌ๊ธฐ์„œ ๊ทธ์น˜์ง€ ์•Š๊ณ  ์ž๊ธฐ๋“ค๋งŒ์˜ ๊ทœ์น™์ด ์žˆ๋‹ค. ๋งŒ์•ฝ์— A&&B ์ž์ฒด๋ฅผ console์— ์ฐ๋Š”๋‹ค๊ณ  ํ•˜์ž. ๋‹ค๋ฅธ ์–ธ์–ด ๊ฐ™์•˜์œผ๋ฉด, A = 0 , B = 1 ์ด๋ฉด false๋ฅผ ์ฐ๋Š”๋‹ค. (0์€ ๊ฑฐ์ง“, 0์ด ์•„๋‹Œ ์ˆซ์ž๋Š” ๋ชจ๋‘ ์ฐธ ์ทจ๊ธ‰์„ ํ•˜๋ฏ€๋กœ ) ํ•˜์ง€๋งŒ JS๋Š” 0์ด ์ถœ๋ ฅ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋Š” ์ด์œ ๋Š” JS ๋งŒ์˜ ๊ทœ์น™์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. JS์—์„œ์˜ && ์—ฐ์‚ฐ์ž๋Š” ๊ฐ€์žฅ ๋จผ..
2023.04.02
Language/JS
๋ถ€์ •, ๋น„๊ต ์—ฐ์‚ฐ์ž
1. !์ด๊ฑฐ ๋ถ™์ด๋ฉด boolean ๊ฐ’์ด toggle์ด ๋จ. // ๋ถ€์ •(Negation) console.log(!true) console.log(!false) console.log(!0) console.log(!!0) // ์ค‘๋ณต toggle์ด ๊ฐ€๋Šฅ console.log(!!!0) console.log(!null) console.log(!undefined) console.log(!NaN) console.log(!'') console.log(!{}) console.log(![]) 2. ๋น„๊ต ์—ฐ์‚ฐ์ž //๋น„๊ต ์—ฐ์‚ฐ์ž const a = 1 const b = 3 // ๋™๋“ฑ ์—ฐ์‚ฐ์ž // (a,b ํ˜•์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํ˜• ๋ณ€ํ™˜ ํ•ด์„œ ๋น„๊ตํ•จ. ๋”ฐ๋ผ์„œ 0 ๊ณผ '0'๋„ ๊ฐ™๋‹ค๊ณ  ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๋Š” ๋ถ€์ •ํ™•์„ฑ์„ ์ดˆ๋ž˜ํ•˜์—ฌ ์•ˆ ์“ฐ๋Š” ..
2023.03.31
Language/JS
์‚ฐ์ˆ  ํ• ๋‹น ์ฆ๊ฐ ์—ฐ์‚ฐ์ž
1. ์‚ฐ์ˆ  + - x / %(๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž) 2. ํ• ๋‹น // var -> ์žฌ์„ ์–ธ ์žฌํ• ๋‹น ์ „๋ถ€ ๊ฐ€๋Šฅ // let -> ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€ ์žฌํ• ๋‹น ๊ฐ€๋Šฅ let a = 3 a = 5 // ok let a = 3 let a = 2 //Error // const -> ์žฌ์„ ์–ธ ์žฌํ• ๋‹น ์ „๋ถ€ ๋ถˆ๊ฐ€๋Šฅ const a = 3 a =4 //Error 3. ์ฆ๊ฐ let a = 2 console.log(++a) console.log(a) // ํ•ด๋‹น ์ถœ๋ ฅ๋ฌธ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— a ๊ฐ’์— 1์„ ๋”ํ•ด๋ผ (์ถœ๋ ฅ 3 3) console.log(a++) console.log(a) // ํ•ด๋‹น ์ถœ๋ ฅ๋ฌธ ์‹คํ–‰ ํ›„์— a์— 1 ๋”ํ•ด๋ผ (์ถœ๋ ฅ 2 3)
2023.03.31
Language/JS
Type ํ™•์ธ
//๋ฐ์ดํ„ฐ ํƒ€์ž… ํ™•์ธ // console.log(typeof a) // ๊ทผ๋ฐ ์ด๊ฑธ๋กœ๋Š” null, ๋ฐฐ์—ด[] ๊ฐ์ฒด{} ๋Š” ํ™•์ธํ•˜์ง€ ๋ชปํ•œ๋‹ค. // Js์—์„œ๋Š” ํ•จ์ˆ˜๋„ ํƒ€์ž…์œผ๋กœ ์นœ๋‹ค. console.log(typeof 'hello' === 'string') console.log(typeof 123 === 'number') console.log(typeof false === 'boolean') console.log(typeof undefined === 'undefined') console.log(typeof null ==='object') console.log(typeof[] === 'object') console.log(typeof{} === 'object') console.log(typeof function (..
2023.03.31
Language/JS
์ฐธ๊ณผ ๊ฑฐ์ง“
// ์ฐธ๊ณผ ๊ฑฐ์ง“ /* * -- boolean์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์งˆ ์‹œ ๊ฑฐ์ง“์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ๊ฒƒ * (1) false * (2) 0, * (3) null, * (4) undefined * (5) NaN * (6) '' -> ๋นˆ ๋ฌธ์ž์—ด * (7) 0n -> Bigint๋ž€ ํƒ€์ž…์œผ๋กœ 0์„ ๋‚˜ํƒ€๋‚ธ๊ฒƒ. * --์ด์™ธ์— ๋ชจ๋“  ์ˆซ์ž ๋ฌธ์ž๋Š” ์ „๋ถ€ ์ฐธ-- * ๋ฐฐ์—ด์€ ๋น„์–ด์žˆ์–ด๋„ ์ฐธ์ž„ * NaN์€ ์ž˜๋ชป๋œ ์ˆ˜ํ•™ ๊ณ„์‚ฐ, ์ž˜๋ชป๋œ ์ˆซ์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค. * ex) 0/0 ===NaN(์ž˜๋ชป๋œ ์ˆ˜ํ•™ ๊ณ„์‚ฐ), 100/"hi" === NaN (์ž˜๋ชป๋œ ์ˆซ์ž) * */ if(null){ console.log('์ฐธ') } else{ console.log('๊ฑฐ์ง“') }
2023.03.31
Language/JS
thumbnail
Component๊ฐ€ ๋ฌด์—‡์ธ์ง€, Props๋กœ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ’ ์ฃผ๊ณ  ๋ฐ›๊ธฐ
1.์ปดํฌ๋„ŒํŠธ : ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ณ„์ ์ธ ์—ฌ๋Ÿฌ ์กฐ๊ฐ UI(User Interface)๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ Component๋กœ ๋‚˜๋‰œ๋‹ค. ์นดํ†ก ํ™”๋ฉด์€ ์œ„์™€ ๊ฐ™์ด 5๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๋‚˜๋‰˜๋Š” ๊ฒƒ์ด๋‹ค. ์ปดํฌ๋„ŒํŠธ๋Š” java๋กœ ์น˜๋ฉด ๋งค์†Œ๋“œ ๊ฐ™์€ ๋…€์„์ด๋‹ค. 2. ์ปดํฌ๋„ŒํŠธ์˜ ์ข…๋ฅ˜ (1) ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ a. ์“ฐ๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด - React.Component๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ๋ฌด์กฐ๊ฑด ์ƒ์†ํ•ด์•ผ ํ•จ. - render() ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ , ์œ„ ํ•จ์ˆ˜์˜ return ๊ฐ’์—๋‹ค๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ๋ฌผ์„ ์ ์–ด์•ผํ•จ. b. state, lifestyle(์ƒ๋ช… ์ฃผ๊ธฐ)๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ. c. ํ•จ์ˆ˜ ํ˜• ์ปดํฌ๋„ŒํŠธ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋‹จ์ . (2) ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ a. state, lifestyle์ด๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•จ. ๋”ฐ๋ผ์„œ Ho..
2023.03.24
Language/JS