Frontend๐ŸŒฑ/JavaScript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ var๋กœ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ, ์™œ const์™€ let์ด ๋‚˜์™”์œผ๋ฉฐ ์ด ๋‘˜์˜ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ• ๊นŒ? ์ด๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋ณ€์ˆ˜์˜ ์„ ์–ธ ๋ฐ ํ• ๋‹น ๊ณผ์ •, ํ˜ธ์ด์ŠคํŒ…, ์Šค์ฝ”ํ”„๋ฅผ ์•Œ์•„์•ผํ•œ๋‹ค. โœ”๏ธ๋ณ€์ˆ˜ ๋จผ์ € ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์ž. ๋ณ€์ˆ˜(variable)๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„์„ ๋งํ•œ๋‹ค. https://medium.com/@ethannam/javascripts-memory-model-7c972cd2c239 const myNumber = 23 // ๋ณ€์ˆ˜๋ช…(์‹๋ณ„์ž): myNumber // ํ•ด๋‹น ๊ฐ’์˜ ์œ„์น˜(๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ): 0012CCGWH80 // ๋ณ€์ˆ˜ ๊ฐ’(์ €์žฅ๋œ ๊ฐ’): 23 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด(..
ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ES6๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. function ํ‚ค์›Œ๋“œ ์‚ฌ์šฉํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“  ๊ฒƒ๋ณด๋‹ค ๊ฐ„๋‹จํžˆ ํ•จ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ํ•ญ์ƒ ์ต๋ช…์ž…๋‹ˆ๋‹ค. // ์ผ๋ฐ˜ ํ•จ์ˆ˜ var foo = function () { console.log("foo") }; // foo // ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ var bar = () => console.log("bar"); // bar 1. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ๋ฌธ๋ฒ• // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ var foo = () => console.log('bar'); foo(); // bar // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ var foo = x => x; foo('bar'); // bar // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—ฌ๋ ค๊ฐœ์ธ ๊ฒฝ์šฐ var foo = (a, b) => a + b; // ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ์ค„๋กœ ํ‘œํ˜„ํ•  ๋• "{..
๋ณ€์ˆ˜ ๋จผ์ € ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์ž. ๋ณ€์ˆ˜(variable)๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„์„ ๋งํ•œ๋‹ค. https://medium.com/@ethannam/javascripts-memory-model-7c972cd2c239 const myNumber = 23 // ๋ณ€์ˆ˜๋ช…(์‹๋ณ„์ž): myNumber // ํ•ด๋‹น ๊ฐ’์˜ ์œ„์น˜(๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ): 0012CCGWH80 // ๋ณ€์ˆ˜ ๊ฐ’(์ €์žฅ๋œ ๊ฐ’): 23 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด(managed language)์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ์–ดํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ฐธ์กฐํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ’์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ณ€..
ํ•จ์ˆ˜ ์„ ์–ธ ํ•จ์ˆ˜ ์„ ์–ธ์˜ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. function ํ•จ์ˆ˜๋ช…() { ๋ช…๋ น; ๋ช…๋ น; }; function ๋’ค์— ์›ํ•˜๋Š” ํ•จ์ˆ˜๋ช…์„ ์ž…๋ ฅํ•œ ๋’ค์— ์†Œ๊ด„ํ˜ธ, ์ค‘๊ด„ํ˜ธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์จ์ฃผ๋ฉด ๋œ๋‹ค. ์ค‘๊ด„ํ˜ธ ์•ˆ์—๋Š” ๋ช…๋ น์–ด๋“ค์„ ์ž…๋ ฅํ•˜๋Š”๋ฐ ๋ณดํ†ต ํ•œ ์ค„์— ๋ช…๋ น ํ•œ ๊ฐœ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. // ํ•จ์ˆ˜ ์„ ์–ธ function hello() { console.log('Hello, world!'); console.log('Nice to meet you.'); }; ํ•จ์ˆ˜ ํ˜ธ์ถœ ์œ„์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ์จ๋„ ์ฝ˜์†”์ฐฝ์—์„œ๋Š” ์•„๋ฌด๋Ÿฐ ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ํ•จ์ˆ˜๋ฅผ ์„ ์–ธ๋งŒ ํ•˜๊ณ  ํ˜ธ์ถœํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 'ํ•จ์ˆ˜๋ช…()'์ด๋‹ค. // ํ•จ์ˆ˜ ํ˜ธ์ถœ hello() // ์œ„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์„ ์–ป์Œ // Hello,..
JaeStory
'Frontend๐ŸŒฑ/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก