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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(230)
[๋ชจ๋”ฅ๋‹ค] 23์žฅ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ : JS ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํ•ต์‹ฌ ๊ฐœ๋…. ๐Ÿฅฝ 23.1 ์†Œ์Šค์ฝ”๋“œ์˜ ํƒ€์ž… ๊ตฌ๋ถ„ํ•˜๋Š” ์ด์œ  : ์†Œ์Šค์ฝ”๋“œ์˜ ํƒ€์ž…์— ๋”ฐ๋ผ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •๊ณผ ๊ด€๋ฆฌ ๋‚ด์šฉ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ. ์†Œ์Šค์ฝ”๋“œ์˜ ํƒ€์ž… ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์ „์—ญ ์ฝ”๋“œ ์ „์—ญ์— ์กด์žฌํ•˜๋Š” ์†Œ์Šค์ฝ”๋“œ. ์ „์—ญ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ํ•จ์ˆ˜ ์ฝ”๋“œ ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ์†Œ์Šค์ฝ”๋“œ ํ•จ์ˆ˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ eval ์ฝ”๋“œ ๋นŒํŠธ์ธ ์ „์—ญ ํ•จ์ˆ˜์ธ eval ํ•จ์ˆ˜์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋˜์–ด ์‹คํ–‰๋˜๋Š” ์†Œ์Šค์ฝ”๋“œ (stric mode ์—์„œ ์Šค์ฝ”ํ”„ ์ƒ์„ฑ) eval ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ๋ชจ๋“ˆ ์ฝ”๋“œ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ์†Œ์Šค์ฝ”๋“œ ๋ชจ๋“ˆ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ๐Ÿฅฝ 23.2 ์†Œ์Šค์ฝ”๋“œ์˜ ํ‰๊ฐ€์™€ ์‹คํ–‰ ์†Œ์Šค ์ฝ”๋“œ ํ‰๊ฐ€ - ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์ƒ์„ฑ & ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์˜ ์„ ์–ธ๋ฌธ๋งŒ ๋จผ์ € ์‹คํ–‰ -> ์ƒ์„ฑ๋œ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ์‹๋ณ„์ž๋ฅผ ์Šค์ฝ”ํ”„์— ๋“ฑ๋ก..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Javascript/์ฝ”๋”ฉ๊ธฐ์ดˆํŠธ๋ ˆ์ด๋‹] ๋ฌธ์ž์—ด ๊ณฑํ•˜๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹์ด๋ผ๋Š” ์ „ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋Š” ์ค„ ๋ชจ๋ฅด๊ณ , ๊ทธ ๋’ค ๋‹จ๊ณ„๋ถ€ํ„ฐ ํ–ˆ๋‹ค๋Š”๊ฑธ ๋‹ค ํ’€๊ณ  ์•Œ์•˜๋‹ค^_^ ๊ทธ๋ž˜์„œ ์ง€๊ธˆ ๋‹จ๊ณ„ ๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ์ข‹์Œใ…‹ใ…‹ใ…‹ใ…‹ ๋ฌธ์ž์—ด์„ ๊ณ„์†ํ•˜๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฑธ ์ฒ˜์Œ ์•Œ์•˜๋‹ค. function solution(my_string, k) { return my_string.repeat(k) } ์ด๋ ‡๊ฒŒ string.repeat(๋ช‡๋ฒˆ ๋ฐ˜๋ณตํ• ์ง€) ๋ฅผ ํ•ด์ฃผ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. function solution(my_string, k) { let result = ""; for (let i = 1; i < k + 1; i++) { result += my_string; } return result; } ๋ชฐ๋ผ์„œ for๋ฌธ์œผ๋กœ ํ’€์—ˆ์Œ
[๋ชจ๋”ฅ๋‹ค] 22์žฅ this ๐Ÿพ 22.1 this ํ‚ค์›Œ๋“œ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ์‹œ์ ์—๋Š” ์•„์ง ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ด์ „์ด๋ฏ€๋กœ, ์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹๋ณ„์ž๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํŠน์ˆ˜ํ•œ ์‹๋ณ„์ž๊ฐ€ ํ•„์š”ํ•˜๋‹ค. => this ์ œ๊ณต this : ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๊ธฐ ์ฐธ์กฐ ๋ณ€์ˆ˜. : this ๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค์˜ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Œ. - JS ์—”์ง„์— ์˜ํ•ด ์•”๋ฌต์ ์œผ๋กœ ์ƒ์„ฑ๋จ - this๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’, ์ฆ‰ this ๋ฐ”์ธ๋”ฉ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ์˜ํ•ด ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋จ. this ๋ฐ”์ธ๋”ฉ this ์™€ this ๊ฐ€ ๊ฐ€๋ฆฌํ‚ฌ ๊ฐ์ฒด, ์ฆ‰, ์‹๋ณ„์ž์™€ ๊ฐ’์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ. this ๋Š” ๊ฐ์ฒด์˜ ํ”„๋กœ..
[๋ชจ๋”ฅ๋‹ค] 21์žฅ ๋นŒํŠธ์ธ ๊ฐ์ฒด ๐Ÿš€ 21.1 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์˜ ๋ถ„๋ฅ˜ ๐Ÿ“Œ JS์˜ ๊ฐ์ฒด 3๊ฐ€์ง€ 1. ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด - ECMAScript ์‚ฌ์–‘์— ์ •์˜๋œ ๊ฐ์ฒด๋ฅผ ๋งํ•˜๋ฉฐ, ์•ฑ ์ „์—ญ์˜ ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ. - ์‹คํ–‰ ํ™˜๊ฒฝ์— ์ƒ๊ด€์—†์ด ์–ธ์ œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ 2. ํ˜ธ์ŠคํŠธ ๊ฐ์ฒด - ์‹คํ–‰ํ™˜๊ฒฝ์—์„œ ์ถ”๊ฐ€ํ˜ธ ์ œ๊ณต๋˜๋Š” ๊ฐ์ฒด (์œˆ๋„์šฐ - DOM, BOM, Canvas..., NodeJs -๊ณ ์œ ์˜ API) 3. ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด - ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ •์˜ํ•œ ๊ฐ์ฒด ๐Ÿš€ 21.2 ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด JS ๋Š” Object, String, Number ๋“ฑ๋“ฑ 40์—ฌ๊ฐœ์˜ ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด๋ฅผ ์ œ๊ณตํ•จ. ์ด ์ค‘ String, Number, Boolean, Function, Array, Date ๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœํ•ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. (์ด ๋•Œ..
[๋ชจ๋”ฅ๋‹ค] 20์žฅ Strict Mode ๐ŸŒฝ 20.1 strict mode๋ž€? ์„ ์–ธํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ReferenceError๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‚ฌ์‹ค ์•„๋‹˜. JS๊ฐ€ ์•”๋ฌต์ ์œผ๋กœ ์ „์—ญ ๊ฐ์ฒด์— ๋ณ€์ˆ˜-> ํ”„๋กœํผํ‹ฐ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•จ. => ์•”๋ฌต์  ์ „์—ญ ์•”๋ฌต์  ์ „์—ญ์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์˜ ์›์ธ์ด ๋  ํ™•๋ฅ ์ด ๋†’์Œ. ๊ทธ๋Ÿฌ๋‹ˆ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋ฅผ ๊ผญ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์•ผํ•จ. ํ•˜์ง€๋งŒ ์‹ค์ˆ˜๋Š” ์–ธ์ œ๋‚˜ ๋ฐœ์ƒํ•˜๋Š”๋ฐ -> ์ด๋Ÿฐ ์ž ์žฌ์  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์–ด๋ ค์šด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š”๊ฒŒ ๋” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ž„. strict mode (์—„๊ฒฉ ๋ชจ๋“œ) - ES5 ๋ถ€ํ„ฐ ์ถ”๊ฐ€๋จ. - JS ์˜ ๋ฌธ๋ฒ•์„ ์ข€ ๋” ์—„๊ฒฉํžˆ ์ ์šฉ -> ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ฑฐ๋‚˜, -> JS ์—”์ง„์˜ ์ตœ์ ํ™” ๋ฌธ์ œ์— ์ž‘์—…์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•ด => ๋ช…์‹œ์ ์ธ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ด. ESLint - strict mode ์™€ ์œ ..
[๋ชจ๋”ฅ๋‹ค] 19์žฅ (2) ํ”„๋กœํ† ํƒ€์ž… ๐Ÿ’ 19.8 ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ํ”„๋กœํผํ‹ฐ ์„€๋„์ž‰ ํ”„๋กœํ† ํƒ€์ž… ํ”„๋กœํผํ‹ฐ์™€ ๊ฐ™์€ ์ด๋ฆ„์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ธ์Šคํ„ด์Šค์— ์ถ”๊ฐ€ํ•˜๋ฉด -> ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ๊ฐ€ ํ”„๋กœํ† ํƒ€์ž… ํ”„๋กœํผํ‹ฐ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ–ˆ๊ณ , ํ”„๋กœํ† ํƒ€์ž… ๋ฉ”์„œ๋“œ๋Š” ๊ฐ€๋ ค์ง„๋‹ค. => ์ด๋ ‡๊ฒŒ ์ƒ์† ๊ด€๊ณ„์— ์˜ํ•ด ํ”„๋กœํผํ‹ฐ๊ฐ€ ๊ฐ€๋ ค์ง€๋Š” ํ˜„์ƒ :: ํ”„๋กœํผํ‹ฐ ์„€๋„์ž‰ ๐Ÿ“Œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ : ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์žฌ์ •์˜ํ•˜๋ ค ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ ๐Ÿ“Œ ์˜ค๋ฒ„๋กœ๋”ฉ : ํ•จ์ˆ˜์˜ ์ด๋ฆ„์€ ๋™์ผํ•˜์ง€๋งŒ, ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž… or ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜์— ์˜ํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌ๋ณ„ํ•˜์—ฌ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹. JS ๋Š” ์˜ค๋ฒ„๋กœ๋”ฉ์€ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ arguments ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜๋Š” ์žˆ๋‹ค. ํ”„๋กœํ† ํƒ€์ž…์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ญ์ œํ•˜๋ ค๊ณ  ์‹œ๋„ -> ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Javascript] ์˜น์•Œ์ด(1) || ์ฝ”๋”ฉํ…Œ์ŠคํŠธ + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 0๋‹จ๊ณ„ ์™„์„ฑ function solution(babbling) { const words = ["aya", "ye", "woo", "ma"]; let count = 0; for (let i = 0; i { babbling[i] = babbling[i].replace(String(word), " "); }) } babbling.map(v => v.replaceAll(" ", "") === "" && count++) return count; } โ˜˜๏ธ ํ’€์ด ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ words ์— ๋„ฃ๊ณ  ์˜ˆ์‹œ์˜ ๋‹จ์–ด๋“ค์ด ์ด ๋‹จ์–ด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์‹œ replace ๋ฅผ ํ†ตํ•ด ์†Œ๊ฑฐํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต๋ฐฑ์ธ "" ๋กœ replaceAll ์„ ํ•˜๋ฉด,..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Javascript] ํ‰ํ–‰ || ์ฝ”๋”ฉํ…Œ์ŠคํŠธ function solution(dots) { const xArr = [...dots].sort((a, b) => a[0] - b[0]); const yArr = [...dots].sort((a, b) => a[1] - b[1]); let result = 0; const xParr = ((xArr[1][0] - xArr[0][0]) === (xArr[3][0] - xArr[2][0]) && (xArr[1][1] - xArr[0][1]) === (xArr[3][1] - xArr[2][1])) const yParr = ((yArr[1][0] - yArr[0][0]) === (yArr[3][0] - yArr[2][0]) && (yArr[1][1] - yArr[0][1]) === (yArr[3][1] - yAr..

728x90
๋ฐ˜์‘ํ˜•