๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

JavaScript/JavaScript22

[๋“œ๋ฆผ์ฝ”๋”ฉ by ์—˜๋ฆฌ] JavaScript ๊ธฐ์ดˆ ๊ฐ•์˜(2) (ES5+) 'use strict' ์‚ฌ์šฉ 'use strict'; Variable (๋ณ€์ˆ˜) - ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ’ - JavaScript์—์„œ๋Š” let ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. (ES6์—์„œ ์ถ”๊ฐ€๋จ) ๐Ÿ”ฅ let ์ด์ „์—๋Š” var์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ var์˜ ์‚ฌ์šฉ์€ ์ง€์–‘ํ•œ๋‹ค! var์€ Block Scope๋„ ๋ฌด์‹œํ•œ๋‹ค. Block Scope { let name = 'yunkyung'; console.log(name); // yunkyung name = 'hello'; console.log(name); // hello } console.log(name); // ์ถœ๋ ฅ ์•ˆ๋จ ์ด๋ ‡๊ฒŒ block ์•ˆ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด block ๋ฐ–์—์„œ๋Š” ์•ˆ์˜ ๋‚ด์šฉ๋“ค์„ ๋ณผ ์ˆ˜ ์—†๋‹ค. Constants - ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ํฌ์ธํ„ฐ๊ฐ€ ์ž ๊ฒจ ์žˆ๋‹ค. - ์„ ์–ธ๊ณผ ๋™์‹œ์— ํ• ๋‹น์ด.. 2021. 10. 6.
[๋“œ๋ฆผ์ฝ”๋”ฉ by ์—˜๋ฆฌ] JavaScript ๊ธฐ์ดˆ ๊ฐ•์˜(1) (ES5+) - head + defer script ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ defer ์†์„ฑ ์‚ฌ์šฉํ•˜๊ธฐ ์ด ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์œ ์šฉํ•˜๋‹ค. - use strict ์ˆœ์ˆ˜ vanilla js๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‹ค์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด use strict์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. (TypeScript ์‚ฌ์šฉํ•  ๋• ์„ ์–ธํ•  ํ•„์š” ์—†์Œ) 'use strict' console.log('Hello world'); 2021. 10. 5.
[JavaScript] ํ•จ์ˆ˜ โ–ถ ํ•จ์ˆ˜ *๊ธฐ๋ณธ ํ•จ์ˆ˜ ์ •์˜๋ฌธ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•œ ๊ฒƒ์„ 'ํ•จ์ˆ˜ ์ •์˜๋ฌธ'์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•จ์ˆ˜์—์„œ๋Š” function ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. function ํ•จ์ˆ˜๋ช…() { ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ; } ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ต๋ช… ํ•จ์ˆ˜(ํ•จ์ˆ˜๋ช…์ด ์—†๋Š” ํ•จ์ˆ˜)๋ฅผ ์„ ์–ธํ•˜๊ณ  ๋ณ€์ˆ˜์— ์ฐธ์กฐํ•ด๋„ ๋œ๋‹ค. ์ฐธ์กฐ ๋ณ€์ˆ˜ = function() { ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ; } ํ•จ์ˆ˜ ์ •์˜๋ฌธ({...}) ์•ˆ์— ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•จ์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋˜์–ด ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์‹คํ–‰๋œ๋‹ค. ์ •์˜๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ธฐ๋ณธํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ•จ์ˆ˜๋ช…(); ๋˜๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜(); โ˜…์ผ๋ฐ˜ ํ•จ์ˆ˜ ์ •์˜๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ˜ธ์ด์ŠคํŒ…(hoisting) ๊ธฐ์ˆ ์„ ์ง€์›ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ต๋ช… ํ•จ์ˆ˜ ์„ ์–ธ ์ฐธ์กฐ ๋ฐฉ์‹์€ ํ˜ธ์ด์ŠคํŒ…์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค... 2021. 2. 11.
[JavaScript] ๊ฐ์ฒด โ–ถ ๊ฐ์ฒด 1. ๋‚ด์žฅ ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” new๋ผ๋Š” ํ‚ค์›Œ๋“œ์™€ ์ƒ์„ฑ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋‚ ์งœ ์ •๋ณด ๊ฐ์ฒด ๋‚ ์งœ๋‚˜ ์‹œ๊ฐ„ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ œ๊ณต๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ๋Š” ๋‚ ์งœ ๊ฐ์ฒด(Date Object)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. โ€‹ ์˜ˆ์ œ 1) ํ˜„์žฌ ๋‚ ์งœ ๊ฐ์ฒด์™€ ํŠน์ • ๋‚ ์งœ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ 2002๋…„ ์›”๋“œ์ปต ๋‚ ์งœ์™€ ๊ด€๋ จ๋œ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ getMonth() → ์›” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ด(ํ˜„์žฌ ์›” -1) getDay() → ์š”์ผ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ด(์ผ:0 ~ ํ† :6) ์˜ˆ์ œ 2) ํ˜„์žฌ ๋‚ ์งœ๋ถ€ํ„ฐ ์—ฐ๋ง๊นŒ์ง€ ๋ฉฐ์น ์ด ๋‚จ์•˜๋Š”์ง€ ๋‚ ์งœ ์ •๋ณด ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ ์•Œ์•„๋ณด๊ธฐ 3. ์ˆ˜ํ•™ ๊ฐ์ฒด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ๊ฐ์ฒด์—๋Š” ์ˆ˜ํ•™๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ๊ณผ ์†์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์ˆ˜ํ•™ ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค. ๋”ํ•˜๊ธฐ, ๊ณฑํ•˜๊ธฐ, ๋‚˜๋ˆ„๊ธฐ ๋“ฑ์€ ์•ž์—์„œ ๋ฐฐ์šด ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’.. 2021. 2. 11.
[JavaScript] ๋ฐ˜๋ณต๋ฌธ ๋ฐ˜๋ณต๋ฌธ โ–ถ while๋ฌธ while๋ฌธ์€ ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ํšŒ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์ œ 1) '์•ˆ๋…•ํ•˜์„ธ์š”1~ ์•ˆ๋…•ํ•˜์„ธ์š”10'๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ 10ํšŒ ์ถœ๋ ฅํ•˜๊ธฐ ์˜ˆ์ œ 2) 1๋ถ€ํ„ฐ 30๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ 2์˜ ๋ฐฐ์ˆ˜์ด๋ฉด์„œ 6์˜ ๋ฐฐ์ˆ˜์ธ ์ˆซ์ž๋งŒ ์ถœ๋ ฅํ•˜๊ธฐ ์˜ˆ์ œ 3) 20๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ์ง์ˆ˜์ผ ๊ฒฝ์šฐ์—๋Š” ํŒŒ๋ž€์ƒ‰, ํ™€์ˆ˜์ผ ๊ฒฝ์šฐ์—๋Š” ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ถœ๋ ฅ๋˜๋„๋ก ํ•˜๊ธฐ โ–ถ do-while๋ฌธ while๋ฌธ์˜ ๊ฒฝ์šฐ์—๋Š” ์กฐ๊ฑด์‹์˜ ๋งŒ์กฑ ์—ฌ๋ถ€๋ฅผ ๋จผ์ € ๊ฒ€์‚ฌํ•œ ํ›„ ์ค‘๊ด„ํ˜ธ์— ์žˆ๋Š” ์ฝ”๋“œ์˜ ์‹คํ–‰ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ํ•˜์ง€๋งŒ do-while๋ฌธ์€ ๋ฐ˜๋“œ์‹œ ํ•œ ๋ฒˆ์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์กฐ๊ฑด์‹์„ ๊ฒ€์‚ฌํ•œ๋‹ค. โ–ถ for๋ฌธ for๋ฌธ์€ ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ํŠน์ • ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ while๋ฌธ๊ณผ ๊ฐ™์ง€๋งŒ while๋ฌธ๋ณด๋‹ค ์‚ฌ์šฉ.. 2021. 2. 2.
[JavaScript] ์ œ์–ด๋ฌธ โ€‹โ–ถ ๋„์ „ Mission! Q1) ์ง„์˜์ด์˜ ํ•˜๋ฃจ ์ง€์ถœ ๋‚ด์—ญ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•  ๋•Œ, ํ•˜๋ฃจ ์ง€์ถœ ๋น„์šฉ์˜ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•œ ํ›„ ์ ์ • ์ง€์ถœ ๋น„์šฉ์˜ ์ดˆ๊ณผ ์—ฌ๋ถ€๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ์ง„์˜์ด์˜ ํ•˜๋ฃจ ์ง€์ถœ ๋‚ด์—ญ์€ ๊ตํ†ต๋น„ 3000์›, ์‹๋น„ 6000์›, ์Œ๋ฃŒ๋น„ 3000์›์ž…๋‹ˆ๋‹ค. ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋ฃจ ์ ์ • ์ง€์ถœ ๋น„์šฉ์ธ 1๋งŒ ์›์„ ์ดˆ๊ณผํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” "000์› ์ดˆ๊ณผ"๋ผ๊ณ  ์ถœ๋ ฅํ•˜๊ณ , ์•„๋‹ ๊ฒฝ์šฐ์—๋Š” "๋ˆ ๊ด€๋ฆฌ ์ž˜ ํ–ˆ์–ด์š”!"๋ผ๊ณ  ์ถœ๋ ฅํ•˜์‹œ์˜ค. Q2) ๋‹ค์Œ ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‰๊ท  ํŒ๋งค๋Ÿ‰์„ ๊ตฌํ•˜๊ณ , 4๋ถ„๊ธฐ ํŒ๋งค๋Ÿ‰์„ ์ž…๋ ฅํ•˜์—ฌ ํ‰๊ท  ํŒ๋งค๋Ÿ‰์˜ ์ด์ƒ/๋ฏธ๋‹ฌ ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ์งˆ์˜์‘๋‹ต ์ฐฝ์„ ์ด์šฉํ•˜์—ฌ 4๋ถ„๊ธฐ ํŒ๋งค๋Ÿ‰์„ ์ž…๋ ฅํ•˜๊ณ , ์ „ ๋ถ„๊ธฐ ํ‰๊ท  ํŒ๋งค๋Ÿ‰๋ณด๋‹ค ํŒ๋งค๋Ÿ‰์ด ๋†’๊ฑฐ๋‚˜ ๊ฐ™์„ ๊ฒฝ์šฐ์—๋Š” 'ํŒ๋งค๋Ÿ‰์ด ํ‰๊ท  ์ด์ƒ์ž…๋‹ˆ๋‹ค.'๋ผ๊ณ  ์ถœ๋ ฅํ•˜๊ณ , ๋‚ฎ์„ ๊ฒฝ์šฐ์—๋Š” 'ํŒ๋งค๋Ÿ‰.. 2021. 2. 2.
๋ฐ˜์‘ํ˜•