javascript 5

[JS] Rest Syntax

1. Rest Syntax๋ž€?Rest Syntax๋Š” ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ์ „๋‹ฌ๋œ ๋ชจ๋“  ์ธ์ž๋ฅผ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๋ฐ›์•„๋“ค์ด๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— ...์„ ๋ถ™์ด๋ฉด, ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋‚˜๋จธ์ง€ ๋ชจ๋“  ์ธ์ž๋“ค์„ ๋ฐฐ์—ด๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜ˆ์ œ:function f(...args) { const sum = args[0] + args[1]; return sum;}console.log(f(3, 4)); // 7f(3, 4)๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ args๋Š” [3, 4]๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.์ด์ฒ˜๋Ÿผ ํ•จ์ˆ˜์— ์ „๋‹ฌ๋œ ๋ชจ๋“  ์ธ์ž๋ฅผ ๋ฐฐ์—ด๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.2. ์™œ Rest Syntax๋ฅผ ์‚ฌ์šฉํ• ๊นŒ?์ฒ˜์Œ์—๋Š” "๊ทธ๋ƒฅ ๋ฐฐ์—ด์„ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋ฉด ๋˜๋Š” ๊ฑฐ ์•„๋‹Œ๊ฐ€?"๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Rest Syntax๋Š” ๊ฐ€๋ณ€์ ์ธ..

[LeetCode] 2667 create-hello-world-function

โœ” ๋ฌธ์ œ ๋งํฌhttps://leetcode.com/problems/create-hello-world-function/editorial/โœ” editorial ํ•™์Šต1. ์ต๋ช…ํ•จ์ˆ˜var f = function(a, b) { const sum = a + b; return sum;}console.log(f(3, 4)); // 7- ๋ฌด๊ธฐ๋ช… ํ•จ์ˆ˜ 2. ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜var res = (function () { var a = 3; var b = 5; return a + b;}())console.log(res); // 15res = (function (a, b) { return a * b;}(3, 5))console.log(res); // 15- ์ผ๋ฐ˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ธ์ˆ˜..

[JS] ๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ

๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋‹จ ํ•˜๋‚˜์˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์Šคํƒ์„ ๊ฐ€์ง - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•จ - ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฒ˜๋ฆฌ์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ํƒœ์Šคํฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋ธ”๋กœํ‚น(Blocking, ์ž‘์—…์ค‘๋‹จ)์ด ๋ฐœ์ƒ ์˜ˆ์‹œ - ๋™๊ธฐ ์ฒ˜๋ฆฌ //sleep ํ•จ์ˆ˜๋กœ setTimeout ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์ž //sleep ํ•จ์ˆ˜๋Š” ์ผ์ •์‹œ๊ฐ„(delay)๊ฐ€ ๊ฒฝ๊ณผํ•œ ํ›„ ์ฝœ๋ฐฑ ํ•จ์ˆ˜(func)๋ฅผ ํ˜ธ์ถœ function sleep(func, delay) { const delayUntil = Date.now() + delay; while (Date.now() < delayUntil); func() } function foo() { c..

[JS] ์ฝœ๋ฐฑ ํ•จ์ˆ˜

์ฝœ๋ฐฑํ•จ์ˆ˜ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋‚ด๋ถ€๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜(๋‹ค์‹œ, ์ „ํ™”) ์˜ˆ์‹œ //์™ธ๋ถ€์—์„œ ์ „๋‹ฌ๋ฐ›์€ f๋ฅผ n๋งŒํผ ๋ฐ˜๋ณต ํ˜ธ์ถœ function repeat(n,f) { for (var i = 0; i

[JS]๋ณ€์ˆ˜ ์„ ์–ธ์˜ ์‹คํ–‰ ์‹œ์ ๊ณผ ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…

๐Ÿ“Œ ํ˜ธ์ด์ŠคํŒ… - ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ์ด ์ฝ”๋“œ์˜ ์„ ๋‘๋กœ ๋Œ์–ด ์˜ฌ๋ ค์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณ ์œ ์˜ ํŠน์ง• ์˜ˆ์‹œ console.log(score); // undefined var score; // ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ - ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ํ•œ ์ค„ ์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๋ฉด, ์•„์ง ์„ ์–ธ๋˜์ง€ ์•Š์€ socre๋ณ€์ˆ˜๋ฅผ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ReferenceError(์ฐธ์กฐ์—๋Ÿฌ)๊ฐ€ ๋– ์•ผํ•จ - ํ•˜์ง€๋งŒ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  undefined๊ฐ€ ์ถœ๋ ฅ๋จ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„ ์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ์— ์•ž์„œ, ๋จผ์ € ์†Œ์Šค์ฝ”๋“œ์˜ ํ‰๊ฐ€ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด์„œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ค€๋น„๋ฅผ ํ•จ - ์†Œ์Šค์ฝ”๋“œ ํ‰๊ฐ€ ๊ณผ์ •์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์„ ์–ธ๋ฌธ์„ ์†Œ์Šค์ฝ”๋“œ์—์„œ ์ฐพ์•„์„œ ๋จผ์ € ์‹คํ–‰ - var, let, const, function..