๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ“บ Front End/- HTML,css,Javascript29

[Javascript-Core] Execution Context์™€ Hoisting์˜ ์ƒ๊ด€ ๊ด€๊ณ„์™€ ์˜คํ•ด, ๊ทธ๋ฆฌ๊ณ  ์ดํ•ด ๋ถ€์ œ :: EnvironmentRecord๊ฐ€ Hoisting์„ ํ•˜๋Š” ๋ฐฉ๋ฒ• ํ˜ธ์ด์ŠคํŒ…(Hoisting) ํ˜ธ์ด์ŠคํŒ…์€ ์ง€๋‚œ ์‹œ๊ฐ„์— ์ด์•ผ๊ธฐ ํ–ˆ๋˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ์˜ Creation Phase์—์„œ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ฐฉ์‹์ธ๋ฐ, MDN์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฝ๊ณ ํ•˜๊ณ  ์žˆ๋‹ค. ๋ณดํ†ต ์‚ฌ๋žŒ๋“ค์ด ํ˜ธ์ด์ŠคํŒ…์ด ์ผ์–ด๋‚˜๋ฉด ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๊ฐ€ ์ฝ”๋“œ ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง„๋‹ค๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๋Š” ์ž˜๋ชป๋œ ์ •๋ณด์ด๋‹ค. ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์ฝ”๋“œ๋Š” ์‹ค์ œ ์œ„์น˜ ๊ทธ๋Œ€๋กœ ์กด์žฌํ•˜๊ณ  ๊ฐœ๋…์ ์œผ๋กœ ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง„๋‹ค๋ผ๊ณ  ํ‘œํ˜„ํ•˜๋Š”๊ฒŒ ์ •ํ™•ํ•˜๋‹ค. Hoisting์„ ์ดํ•ดํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž. MDN์—์„œ๋Š” ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ ํ˜ธ์ด์ŠคํŒ…์ด๋ผ๊ณ  ์˜ˆ์‹œ๋ฅผ ์ œ์‹œํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ๊ฐ๊ฐ์˜ x๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ถœ๋ ฅ๋ ์ง€ ์Šค์Šค๋กœ์—๊ฒŒ ๋Œ€๋‹ตํ•ด๋ณด์ž. ๊ฒฐ๊ณผ๊ฐ€ ๋ฌด์—‡์ผ์ง€ ์ฒดํฌํ•ด๋ณด์ž. 1 undefined 2 1 1 2 EnvironmentRecord์— ์˜ํ•œ Hoi.. 2020. 7. 28.
[Javascript-Core] Execution Context, ์‹คํ–‰ ๋ฌธ๋งฅ์— ๊ด€ํ•˜์—ฌ ์•Œ์•„๋ณด์ž. Execution Context ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์‹คํ–‰ํ•  ์ฝ”๋“œ์— ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์ •๋ณด๋ฅผ ๋ชจ์€ ๊ฐ์ฒด๋ฅผ ๋œปํ•œ๋‹ค. ์ด๋Š”, OS๋ฅผ ํ•™์Šตํ•˜๋‹ค๊ฐ€ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜๋Š” ์‹คํ–‰ ๋ฌธ๋งฅ, ์‹คํ–‰ ์ปจํ…์ŠคํŠธ, ์ต์Šคํ์…˜ ์ปจํ…์ŠคํŠธ์™€ ๋‹ค๋“ค ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค. ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐ ํ•œ๋‹ค๋ฉด ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์šฐ๋ฆฌ๊ฐ€ var a = 10; function hello() { var b = "hello"; return b; } ์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์„œ ์‹คํ–‰์— ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์ •๋ณด๋Š” var a = 10๊ณผ hello()ํ•จ์ˆ˜์™€ var b = 'hello'๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์‹๋ณ„์ž์™€ ๋ณ€์ˆ˜๋“ฑ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์ฝœ ์Šคํƒ์— ์˜ํ•ด ์‹คํ–‰ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๋Š”๋ฐ, ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ Interpreting ํ•˜๋ฉด์„œ ์ฝœ.. 2020. 7. 27.
[Javascript-Core] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ null๊ณผ undefined ๋‚ด ์ฃผ ์–ธ์–ด๋Š” ์ž๋ฐ”์ด๋‹ค. ์ž๋ฐ”์—์„œ ๋ณดํ†ต ๊ฐ’์ด ์—†์Œ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋Œ€ํ‘œ์ ์œผ๋กœ null์ด ์žˆ๋‹ค. Spring ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๊ฐ€ ์ž์ฃผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜๋Š” nullPointException. ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์—†์Œ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 2 ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. null undefined ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๊ฒƒ์€ ์ด ๋‘ ๊ฐ€์ง€ ์—†์Œ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. null null์€ ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ฐ’์ด ์—†์Œ์„ ์˜๋ฏธํ•œ๋‹ค. null์€ ๋ณ€์ˆ˜ ํ• ๋‹น ๊ณผ์ •์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์ง€ ์•Š์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ null์„ ๋งŒ๋‚˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž„์˜์ ์œผ๋กœ null์ด๋ผ๋Š” ๊ฒƒ์„ ํ• ๋‹นํ•ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ null์„ ๊ณ ์˜์ ์ธ ๋น„ํ• ๋‹น์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. undefined undefined๋Š” ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์•„์ง ํ• ๋‹น๋˜์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋Ÿฐ ์ƒ.. 2019. 11. 29.
[Javascript-Core] ๋ณ€์ˆ˜์˜ ์„ ์–ธ var๊ณผ let ๊ทธ๋ฆฌ๊ณ const์˜ ์ฐจ์ด :: Difference among var and let and const ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฑ…์„ ๋ดค์„ ๋•Œ, ๋Œ€๋ถ€๋ถ„์˜ ์ฑ…์—์„œ var์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ผ๊ณ  ๊ฐ€๋ฅด์นœ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ์˜ˆ์ „์— ์†Œ๋งˆ๋ฅผ ์ค€๋น„ํ•  ๋•Œ ์†Œ๋งˆ ์‹œํ—˜์„ ์œ„ํ•ด ์ž ๊น ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋˜ ์ ์ด ์žˆ๋Š”๋ฐ, ๊ทธ ๋•Œ var๋Œ€์‹  let์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ผ๊ณ  ํ–ˆ๋˜ ๊ธ€์„ ๋ณธ ์ ์ด ์žˆ์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ ๋‘ ์ฐจ์ด์ ์„ ํ™•์‹คํžˆ ๋น„๊ตํ•ด๋ณด๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž. ๊ฒฐ๋ก  var let const ์žฌ์„ ์–ธ O X X ์žฌํ• ๋‹น O O X ์ƒ์กด ๋ฒ”์œ„ Funtion Scope(ํ•จ์ˆ˜) Block Scope(์ค‘๊ด„ํ˜ธ) Block Scope(์ค‘๊ด„ํ˜ธ) ๋ณ€์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋„ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๊ฐ™์ด ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ๋ณ€์ˆ˜๋Š” variable์œผ๋กœ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ๊ทธ๋ฆ‡์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด์„œ ํŠน์ •.. 2019. 11. 29.
[Javascript-Core] JavaScript ์˜ ํŠน์ง•๊ณผ ๋‹ค๋ฅธ ์–ธ์–ด์™€์˜ ์ฐจ์ด์  Javascript์™€ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ์ฐจ์ด์  ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ์—์„œ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•œ๋ฐ ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ์ปดํŒŒ์ผ(Compile) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ปดํŒŒ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผ ์–ธ์–ด ๋ผ๊ณ  ํ•˜๋Š”๋ฐ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ C, C++, C# ๋“ฑ์ด ์žˆ๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ ์‹คํ–‰๋˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. Build Time Source์— ๋Œ€ํ•œ ๊ธฐ๊ณ„์–ด ๋ฒˆ์—ญ Run Time ๊ธฐ๊ณ„์–ด ๋ฒˆ์—ญ ํ›„ ๊ธฐ๊ณ„๋กœ ์ „๋‹ฌ. ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„๋งˆ๋‹ค ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋Š” ํ•œ ์ค„ ํ•œ ์ค„.. 2019. 11. 29.
6. HTML ํผ ํƒœ๊ทธ ํผ(form) ์›น์—์„œ๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์›น ์„œ๋ฒ„์˜ ์ผ๋ฐฉํ–ฅ์  ์ •๋ณด ์ „๋‹ฌ ๋ฟ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์™€ ์›น ์„œ๋ฒ„๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์–‘๋ฐฉํ–ฅ์  ํŠน์„ฑ์„ ์œ„ํ•ด ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํผ ํƒœ๊ทธ์˜ ์‚ฌ์šฉ ํผ ํƒœ๊ทธ HTML ๋ฌธ์„œ์—์„œ ํผ์„ ํ†ตํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์›น ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค. ํƒœ๊ทธ ์•ˆ์— ๋˜๋‹ค๋ฅธ ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. action : ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ํ”„๋กœ๊ทธ๋žจ์˜ rul method : ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• get : query string์ด ๊ทธ๋Œ€๋กœ url์— ๋‚˜ํƒ€๋‚˜๋ฉฐ ๋ฐ์ดํ„ฐ ์–‘์ด ์ œํ•œ๋˜๊ณ  ๋…ธ์ถœ๋œ๋‹ค. post : message body์— ํฌํ•จ์‹œ์ผœ ์„œ๋ฒ„์—๊ฒŒ ์ „๋‹ฌ๋˜๋ฉฐ ์–‘์˜ ์ œํ•œ์ด ์—†์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค. encrypte : "application/x-www-form-urlencoded(๊ธฐ๋ณธ.. 2019. 11. 29.