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

JS32

[JS] : URL์—์„œ ์ž์›์„ ๋ชป๊ฐ€์ ธ ์˜ค๋Š”๊ฒฝ์šฐ ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ URL ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ๋‹ค. ๊ตฌํ˜„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ URL์—์„œ ๋‚ด๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์ž์›์„ ๋ชป๊ฐ€์ ธ ์˜ค๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ฒด๋ฅผ ํ•  ๊ฒƒ์ธ์ง€. URL์— ์ž์›์„ ๋‹ด์ง€ ์•Š๋Š” ์ด์œ  ์šฐ๋ฆฌ๋Š” ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•จ์— ์žˆ์–ด์„œ ์ตœ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ–ˆ๊ณ , ๋ณด์•ˆ์ด์Šˆ๋“ฑ์œผ๋กœ URL์—์„œ ์œ ์ €์˜ ๊ฐœ์ธ ID ๋˜๋Š” ๋ฌด์–ธ๊ฐ€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ์„๋งŒํ•œ URI๋Š” ๋นผ๊ณ ์ž ํ–ˆ๊ธฐ์—, ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ตฌ์ƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์‹œ๋„ํ•œ ๊ฒƒ HTML ํƒœ๊ทธ ์†์„ฑ์ค‘ data๋ผ๋Š” ์†์„ฑ์„ ํ†ตํ•ด์„œ id ๋Œ€์‹  ๊ฐ ํƒœ๊ทธ์— ์œ ์ผ๊ฐ’์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์—ˆ๊ณ , inner HTML๋กœ ์œ ์ €์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ ค์คŒ๊ณผ ๋™์‹œ์— data๋ผ๋Š” ์†์„ฑ๊ฐ’์— ํ•ด๋‹น ์œ ์ €์˜ ์ด๋ ฅ์„œ id ๋˜๋Š” ํ•ด๋‹น ์œ ์ €์˜ userId ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์—ˆ๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ(์ž์›)์„ ๊ฐ€์ง€๊ณ .. 2023. 8. 28.
[JS] : URL ์—์„œ ์ž์›(๋ฐ์ดํ„ฐ) ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌํ˜„ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ !! URL ๋กœ๋ถ€ํ„ฐ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ !! ๊ณ ๋ฏผ์ด ์ƒ๊ธด ๋ถ€๋ถ„ ํ•ญ์ƒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ ๊ธฐ๋Šฅ์„ test๋„ ํ•˜๋ฉฐ ๊ตฌํ˜„์„ ๋งˆ์น˜๊ณ ,,, ์ด์ œ ์ด ๊ธฐ๋Šฅ์— ๋‚ ๊ฐœ๋ฅผ ๋‹ฌ์•„์ค„ ํ”„๋ก ํŠธ ํŽ˜์ด์ง€ ์ž‘์—…๋„ ํ•˜๋ฉด์„œ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฐพ์•„์˜จ๋‹ค. ๋ฒ„ํŠผ ํ•˜๋‚˜์— ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ ์•ผ๋ฌด์ง€๊ฒŒ ๋‹ฌ๊ณ  async await ์•ผ๋ฌด์ง€๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ~ fetch ๋กœ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•ด๋†“์€ ํ•ด๋‹น API๋กœ ๋ฐ์ดํ„ฐ๋„ ๋‚ ๋ฆฌ๊ณ  ๊ฐ–๊ณ ์˜ค๋Š”๋ฐ ์ค‘์š”ํ•œ๊ฑด ์ด๋Ÿฐ API์ฃผ์†Œ์ด๋‹ค. /api/user/:userId/resumes/:resume param์œผ๋กœ ๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด id๊ฐ’์„ ๋ฐฑ์—์„œ ์–ด๋–ป๊ฒŒ ๊ฑด๋‚ด์ค˜์•ผ๋˜๋‹ˆ.... ์ด ๋ถ€๋ถ„์€ ํ•ญ์ƒ project ์‹œ์ž‘ํ•˜๋ฉด์„œ api ๋ช…์„ธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ถ€ํ„ฐ ๊ณ ๋ฏผ์ด ์ƒ๊ธด๋‹ค. ์ง€๊ธˆ ํ˜„์žฌ๋Š” .. 2023. 8. 24.
[JS] : this binding this ? ๋‹ค๋ฅธ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์—์„œ๋Š” ํด๋ž˜์Šค๋กœ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋œปํ•˜์ง€๋งŒ, JS์—์„œ๋Š” ๋ณด๋‹ค ๋” ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. this ๋Š” ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์— ์˜ํ•ด์„œ ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋˜๊ณ , ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ์„œ ๋‚˜ํƒ€๋‚ด๋Š” ์˜๋ฏธ๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์‹คํ–‰์ปจํ…์ŠคํŠธ๋Š” ์‹คํ–‰ํ•  ์ฝ”๋“œ์— ์ ์šฉ์‹œํ‚ฌ ํ™˜๊ฒฝ์ •๋ณด๋“ค์„ ๋ชจ์•„๋†“์€ "๊ฐ์ฒด"์ด๋‹ค. ๊ทธ ๊ฐ์ฒด ์•ˆ์—๋Š” ๋‹ค์Œ์˜ 3๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค. ve = VariableEnvironment / le = LexicalEnvironment / this bindings ve ์™€ le ๋Š” ์„œ๋กœ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๋™์ผํ•˜๋ฉฐ, record ์™€ outer๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๋‹ค๋งŒ, ์ฐจ์ด์ ์€ snapshot์˜ ์œ ์ง€์—ฌ๋ถ€์ด๋ฉฐ, le๋Š” snapshot์„ ์œ ์ง€ํ•˜์ง€ ์•Š๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. record์—๋Š” ์‹๋ณ„์ž ์ •๋ณด๊ฐ€ .. 2023. 7. 28.
[JS] : ์–•์€ ๋ณต์‚ฌ / ๊นŠ์€ ๋ณต์‚ฌ ์ด ๊ธ€์„ ์“ฐ๋Š” ์ด์œ  ๊ฐ€๋ณ€์„ฑ์„ ๋„๋Š” ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์˜ ๋ณ€์ˆ˜ ๋ณต์‚ฌ์— ์žˆ์–ด์„œ, ๋ณต์‚ฌํ•œ ๋ฐ์ดํ„ฐ์˜ ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ์กด ๊ฐ์ฒด๊นŒ์ง€ ์˜ํ–ฅ์„ ์ฃผ๋Š” ํ˜„์ƒ์„ ๊ฐœ์„ ํ•˜๊ณ ์ž ์–•์€๋ณต์‚ฌ์™€ ๊นŠ์€๋ณต์‚ฌ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ž‘์„ฑํ•œ๋‹ค. ๊ฐ€๋ณ€์„ฑ์˜ ๋ฌธ์ œ์  ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•˜๊ณ , var user = { name: 'yoon', gender: 'male', }; user๊ฐ์ฒด๋ฅผ changeName ์ด๋ผ๋Š” ํ•จ์ˆ˜์˜ ์ธ์ž๊ฐ’์œผ๋กœ ์ด์ฃผ๋ฉด์„œ, ํ•จ์ˆ˜ ๋กœ์ง ๋ถ€๋ถ„์—์„œ newUser๋ผ๋Š” ๋ณ€์ˆ˜๋ช…์— ์ธ์ž๋กœ ๋ฐ›์€ ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ๋„ฃ์–ด์คฌ๋‹ค. 2023. 7. 27.
[JS] : Call By Value / Call By Reference Call by value ? ์‹๋ณ„์ž๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š” ์ฃผ์†Œ๊ฐ’์œผ๋กœ ๊ฐ”์„ ๋•Œ ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋ฉด call by value ์ด๋‹ค. ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. Call by reference ? ์‹๋ณ„์ž๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š” ์ฃผ์†Œ๊ฐ’์œผ๋กœ ๊ฐ”์„ ๋•Œ ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์ฃผ์†Œ๊ฐ’์„ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ๊ฑด call by reference ์ด๋‹ค. ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. JS ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ข…๋ฅ˜ JS์—์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ 2๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๋‚˜๋‰œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ธฐ๋ณธํ˜• = ๋‹จ์ผํ•œ ๊ฐ’์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ํƒ€์ž… 1. Number 2. String 3. Boolean 4. Undefined 5. Null 6. (ES6) Symbol ... ์ฐธ์กฐํ˜• = ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ํƒ€์ž… ์ฐธ์กฐํ˜•์—๋Š” ์ตœ์ƒ์œ„ ๊ฐ์ฒด์— O.. 2023. 7. 27.
[JS] : ์กฐ๊ฑด๋ถ€ ์‹คํ–‰ / ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์™€ ๋‹จ์ถ•ํ‰๊ฐ€ ์กฐ๊ฑด๋ถ€ ์‹คํ–‰ ์กฐ๊ฑด์ด๋ผ ํ•จ์€ ์ž์—ฐ์Šค๋ ˆ ๋– ์˜ค๋ฅด๋Š” if๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„, ์กฐ๊ฑด๋ถ€ ์‹คํ–‰์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œ let x = 10; if (x > 0) { console.log('x๋Š” ์–‘์ˆ˜์ž…๋‹ˆ๋‹ค.'); } and ์กฐ๊ฑด ( && ) x > 0 && console.log('x๋Š” ์–‘์ˆ˜์ž…๋‹ˆ๋‹ค.'); ์ถœ๋ ฅ ๊ฐ’ ์˜ˆ์‹œ์ฝ”๋“œ์™€ ์กฐ๊ฑด๋ถ€ ์‹คํ–‰ํ•œ ๋‘ ์ฝ”๋“œ ๋™์ผํ•˜๊ฒŒ x๋Š” ์–‘์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์กฐ๊ฑด๋ถ€ ์‹คํ–‰์ฝ”๋“œ ํ•ด์„ and ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ && ์•ž์˜ x > 0์ด ๋งŒ์กฑํ•˜๋ฉด ~ && ๋’ค์˜ console.log()๋„ ์ถœ๋ ฅ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์™€ ๋‹จ์ถ•ํ‰๊ฐ€ ๋‚ด๊ฐ€ ์•„๋Š” ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋Š” true ? console.log(true) : console.log(false) ? ์•ž์˜ ์กฐ๊ฑด์ด "์ฐธ"์ด๋ผ๋Š” ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋ฉด.. 2023. 7. 26.