Front-End

HTML Inline ์š”์†Œ์™€ Block ์š”์†Œ์˜ ์ฐจ์ด์  ?

  • Inline ์š”์†Œ : ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ค„๋ฐ”๊ฟˆ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์—˜๋ฆฌ๋จผํŠธ (<td>, <b>, <a> ...)
  • Block ์š”์†Œ : ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ค„๋ฐ”๋” ์š”์†Œ๊ฐ€ ์ ์šฉ๋œ ์—˜๋ฆฌ๋จผํŠธ (<h>, <p>, <ul>, <li> ...)

์‹œ๋งจํ‹ฑ / ๊ตฌ์กฐ์  ๋งˆํฌ์—…

  • ๊ฒ€์ƒ‰์—”์ง„์„ ํ†ตํ•˜์—ฌ ๊ฒ€์ƒ‰์ด ๋ฌธ์„œ๊ฒ€์ƒ‰ ํ˜น์€ ํฌ๋กค๋ง์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ ‘๊ทผ์„ฑ์„ ๋†’์ธ ๋งˆํฌ์—…

CSS Selector ์—์„œ body > div ์™€ body div ์˜ ์ฐจ์ด์  ?

  • body > div : ์ƒ์œ„ ๋…ธ๋“œ๊ฐ€ body ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง€๋Š” div ํƒœ๊ทธ
  • body div : ์ƒ์œ„ ๋…ธ๋“œ๋“ค ์ค‘์— body ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง€๋Š” div ํƒœ๊ทธ

CSS Position ์ค‘์— static, relative, absolute, fixed ์˜ ์ฐจ์ด์ 

  • static : ํฌ์ง€์…˜ ์„ค์ •์„ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ static
  • relative : ์ƒ๋Œ€์ ์ธ ์œ„์น˜์ •๋ณด๋ฅผ ์ง€์ •ํ• ๋•Œ ์‚ฌ์šฉ
  • absolute : ์ ˆ๋Œ€์ ์ธ ์œ„์น˜์ •๋ณด๋ฅผ ์ง€์ •ํ• ๋•Œ ์‚ฌ์šฉ
  • fixed : ๊ณ ์ •๋œ ์œ„์น˜์ •๋ณด๋ฅผ ์ง€์ •ํ• ๋•Œ ์‚ฌ์šฉ

Reset CSS ๋ž€ ?

  • ๋ธŒ๋ผ์šฐ์ €์™€ ์ƒ๊ด€ ์—†์ด ๊ฐ™์€ ๋ชจ์–‘์„ ๋‚˜ํƒ€๋‚ด๋„๋ก CSS ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š”๊ฒƒ์„ ๋งํ•จ
  • normalize css ๋ผ๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ๊ฐ•์ œ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋Š” reset css ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ธŒ๋ผ์šฐ์ €๋ณ„ ์ฐจ์ด๋ฅผ ๋ณด์ด๋Š” ๋ถ€๋ถ„๋งŒ ํ˜น์€ ๋””์ž์ธ์ ์ธ ์š”์†Œ๋ฅผ ๊ฐ€๋ฏธํ•ด์„œ reset ๋ฅผ ํ•ด์ค€๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

CSS BOX MODEL ์— ๋Œ€ํ•ด ์„ค๋ช…

  • Margin, Border, Padding, Width & Height ๋“ฑ์„ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค์„œ ์„ค๋ช…

IR ๊ธฐ๋ฒ•์ด๋ž€ ?

  • ์ด๋ฏธ์ง€๋ฅผ ๋Œ€์ฒดํ•  ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋กœ ์„ค์ •ํ•˜๊ณ  <span> ํƒœ๊ทธ์™€ ๊ฐ™์€๊ฒƒ์œผ๋กœ ๊ฐ์‹ธ๋ฉด์„œ ์•ˆ๋ณด์ด๊ฒŒ ์ฒ˜๋ฆฌ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ null ๊ณผ undefined ์ฐจ์ด์ ์€ ?

  • null ์€ ๊ฐ’์ด null ์ด ํ• ๋‹น๋œ ๊ฒƒ
  • undefined ๋Š” ์•„๋ฌด๋Ÿฐ ๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š๋Š”๊ฒƒ
  • typeof ๋กœ ํ™•์ธํ•ด๋ณด๋ฉด null ์€ object ๋กœ ํ™•์ธ๋˜๋ฉฐ undefined ๋Š” undefined ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ

== ์™€ === ์˜ ์ฐจ์ด์ ์€ ?

  • ๊ฐ’๋งŒ ๊ฐ™๋‹ค ํ˜น์€ ํƒ€์ž…๊นŒ์ง€ ๊ฐ™๋‹ค์˜ ์ฐจ์ด์ ์ด๋‹ค.
  • == ์ธ ๊ฒฝ์šฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํƒ€์ž…์ด ๊ฐ™๋„๋ก ํ˜•๋ณ€ํ™˜ ๊ณผ์ •์„ ๊ฑฐ์นœํ›„ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” type safe ํ•œ ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. (java ๋Š” type safe ํ•œ ์–ธ์–ด์ž„)

Hoisting ์ด๋ž€ ?

  • ํ•จ์ˆ˜์˜ ์„ ์–ธ๊ณผ ๋ณ€์ˆ˜์˜ ์„ ์–ธ์ด ํ•ด๋‹น ์œ ํšจ๋ฒ”์œ„ ์ƒ์œ„๋กœ ์˜ฎ๊ฒจ์ง€๋ฉฐ ๋ณ€์ˆ˜๋Š” undefined ๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” ํ˜„์ƒ
  • ํ•จ์ˆ˜์˜ ํ‘œํ˜„์‹์€ ํ•ด๋‹น๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ™์€ ๋ณ€์ˆ˜๋ช…๊ณผ ํ•จ์ˆ˜๋ช…์ด ์žˆ์„๊ฒฝ์šฐ ๋ณ€์ˆ˜๋ช…์ด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์•„์ง
  • ES6 ์—์„œ๋„ ํ˜ธ์ด์ŠคํŒ…์ด ์ง€์›์•ˆ๋˜๋Š”๊ฒƒ์ด ์ •์„ค์ด์ง€๋งŒ TDZ ๊ด€์ ์—์„œ ์—†๋‹ค๊ณ  ๋ด๋„ ๋ฌด๊ด€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ž„์˜์  ์‚ฌ๊ฐ์ง€๋Œ€ (TDZ : Temporal Dead Zone)

์ดˆ๊ธฐํ™” (์„ ์–ธ) ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋“ค์„ ์ฐธ์กฐ ํ•  ์ˆ˜ ์—†๋‹ค.
ํ˜ธ์ด์ŠคํŒ…์ด ๋˜์ง€ ์•Š๋Š”๊ฒƒ์€ ์•„๋‹˜ - ES5 ์ฒ˜๋Ÿผ undefined ๋กœ ์„  ํ• ๋‹น์ด ์•ˆ๋จ

DOM Event Model ์—์„œ Bubbling ๊ณผ Capturing ์˜ ์ฐจ์ด์ ์€ ?

  • Bubbling : ์ž์‹๋…ธ๋“œ ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๊ฒฝ์šฐ ๋ถ€๋ชจ๊นŒ์ง€ ์ด๋ฒคํŠธ๊ฐ€ ์ „ํŒŒ๋˜๋Š” ํ˜„์ƒ
  • Capturing : ๋ถ€๋ชจ์—์„œ ์ž์‹์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ํ˜„์ƒ
  • DOM Delegation ์œผ๋กœ ์ด์–ด์„œ ์„ค๋ช…ํ•ด์•ผ ํ•จ

DOM Delegation ์ด๋ž€ ?

  • Event Bubbling ์ด๋‚˜ Capturing ์ด ์ผ์–ด๋‚ ๋•Œ ์„ฑ๋Šฅ์ ์ธ ์ด์Šˆ๊ฐ€ ์ผ์–ด๋‚˜๊ฑฐ๋‚˜ ํ˜น์€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋˜๋Š” ์š”์‡ผ์˜ ์ด๋ฒคํŠธ ๋ฐ”์ธ๋”ฉ์ด ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•„์š”ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฒคํŠธ ์œ„์ž„ ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ์ด๋ฒคํŠธ ํƒ€๊ฒŸ์˜ ๋ถ€๋ชจ์— ์ด๋ฒคํŠธ๋ฅผ ๊ฑธ์–ด์ค€ ๋’ค ๋ฐœ์ƒ๋˜๋Š” ์ด๋ฒคํŠธ ํƒ€์ž…๊ณผ ์…€๋ ‰ํ„ฐ๋ฅผ ์ฒดํฌํ•˜์—ฌ ์ œ์–ดํ•˜๋Š” ์‹์ด๋‹ค.

์›น ์„ฑ๋Šฅ ํŠœ๋‹์‹œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ๋Š” ?

  • ๋ธŒ๋ผ์šฐ์ €์˜ ๋””๋ฒ„๊น… ๋„๊ตฌ, Google Pagespeed Insight, webpagetest.org dynatrace, showslow ๋“ฑ๋“ฑ์„ ํ™œ์šฉ

Ajax ์‚ฌ์šฉ์‹œ ํƒ€๊ฒŸ์˜ URL ๋„๋ฉ”์ธ์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ?

  • JSONP, CORS ๋“ฑ์„ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐ
  • JSONP : DOM ํŠธ๋ฆฌ์— ์ถ”๊ฐ€๋˜๋ฉด ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์—์„œ ์ฐฉ์•ˆํ•˜์—ฌ ์‚ฌ์šฉ
    • ๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ… (SOP : Same Origin Policy) ์— ํฌํ•จ๋˜์ง€ ์•Š์Œ

์ตœ๊ทผ FrontEnd ๋™ํ–ฅ / ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ / ํ”„๋ ˆ์ž„์›Œํฌ / ์ŠคํŒฉ / ๊ธฐ๋Šฅ ๋“ค์˜ ๊ด€์‹ฌ์žˆ๋Š” ๋ถ„์•ผ?

  • vue > React > ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์ฆˆ (์œ ์ธ๋™) ์ด๋ผ๊ณ  ๋ณด๊ณ  ์žˆ๋‹ค (19/02)
  • ๋ฐ”๋‹๋ผ JS ๋ฅผ ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ...

๋‹ค์Œ ์ƒํ™ฉ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์„œ์ˆ ํ•˜์‹œ์š”

์˜จ๋ผ์ธ ์ด๋ฉ”์ผ ์›น์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด ํŽ˜์ด์ง€์—๋Š” ๋ฆฌํ”„๋ ˆ์‹œ ๋ฒ„ํŠผ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ, ์ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋กœ๋”ฉํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ ๋„์ฐฉํ•œ ๋ฉ”์ผ์„ ๊ฐ€์ ธ์™€ ํ™”๋ฉด์— ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š”์ง€ ์ตœ๋Œ€ํ•œ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜์‹œ์˜ค. ์„œ๋ฒ„์ธก ๊ตฌํ˜„์€ ์ด๋ฏธ ๋‹ค ๋˜์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
  • DOM Event ์ฒ˜๋ฆฌ ๋™์ž‘, DOM ์กฐ์ž‘, XHR ๋˜๋Š” JSONP / CORS ๋“ฑ๋“ฑ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ๋ง๋ถ™์—ฌ ์„ค๋ช…ํ•œ๋‹ค.

์›น ์ ‘๊ทผ์„ฑ์ด๋ž€ ?

  • ๊ธฐ๋ณธ์ ์ธ ์›น ํ‘œ์ค€ ์ค€์ˆ˜ ๋ฐ ์ ‘๊ทผ์„ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์„ค๋ช…
  • ์‹œ๊ฐ ์žฅ์• ์ธ๋“ค์„ ์œ„ํ•œ TTS ๋‚˜ ์•ฝ์‹œ, ์ƒ‰์•ฝ, ์ง€์ฒด ์žฅ์• ์ธ๋“ค์— ๋Œ€ํ•œ ๋Œ€์‘
    • ๋ฐ”๋กœ๊ฐ€๊ธฐ๋งํฌ
    • ๋ช…๋„๋Œ€๋น„ ์ค€์ˆ˜
    • ๊นœ๋นก์ž„ ๋นˆ๋„
    • ํด๋ฆญ์˜์—ญ์˜ ํฌ๊ธฐ
  • alt ๋Œ€์ฒด ํ…์ŠคํŠธ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ ์ธ ๊ฒƒ๋“ค์„ ํฌํ•จ

JSON ๊ณผ JSONP ์˜ ์ฐจ์ด์  ?

  • JSON ์€ Java String Object Notation ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์ด๋ฉฐ
  • JSONP ๋Š” Ajax ์—์„œ CORS ์ด์Šˆ ๋ฐœ์ƒ์‹œ ์šฐํšŒ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ๋ฐฉ์‹์ด๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ Scope Chain ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…

  • ๋ณ€์ˆ˜๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๋งํ•œ๋‹ค.
  • ํ•จ์ˆ˜๋‹จ์œ„๋กœ ์œ ํšจ๋ฒ”์œ„๊ฐ€ ๋ณ€ํ•˜๋ฉฐ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋กœ ์ง„์ž…์‹œ ์ƒˆ๋กœ์šด ์Šค์ฝ”ํ”„๊ฐ€ Stack ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • Scope Chain ์€ ํ•˜์œ„์—์„œ ์ƒ์œ„๋กœ ๋“ฑ๋ก๋œ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋กœ์ ธ๋ž€ ?

  • ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€๋Š” ์ฝ”๋“œ ๋ธ”๋Ÿญ
  • ์ƒ์œ„์˜ ์Šค์ฝ”ํ”„๋กœ ๋ณ€์ˆ˜์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚˜๋Š”๊ฒƒ์„ ๋งํ•œ๋‹ค.

๋ชจ๋“ˆ ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…

  • ์ฝ”๋“œ๋ฅผ ๋ชจ๋“ˆํ™” ์‹œ์ผœ ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋Š” ํŒจํ„ด
  • public ๊ณผ private ํ•œ ์œ ํšจ๋ฒ”์œ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ๋žœ๋”๋ง ๊ณผ์ •์„ ์„ค๋ช…

  • HTTP Request > (์„œ๋ฒ„) > HTTP Response > HTML ํŒŒ์‹ฑ > CSS / JS Request > ํŒŒ์‹ฑ > DOM ํŠธ๋ฆฌ > ๋ Œ๋”ํŠธ๋ฆฌ > ํŽ˜์ธํŠธ

๋‹ค์Œ ์ƒํ™ฉ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค

์„œ๋ฒ„๋Š” ์‘๋‹ต์„ ๋น ๋ฅด๊ฒŒ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์ง€๋งŒ ์›น ํŽ˜์ด์ง€๊ฐ€ ๋Šฆ๊ฒŒ ๋œจ๊ณ  ์žˆ๋‹ค.
์›น ์‚ฌ์ดํŠธ๋ฅผ ์ตœ์ ํ™” ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ?
  • ์„œ๋ฒ„ Request ํšŸ์ˆ˜
  • CSS / JS ๋ฅผ minify ํ•˜์—ฌ ์‚ฌ์šฉ
  • gzip ์ „์†ก
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ๋ฐ Lazy ๋กœ๋”ฉ ์‚ฌ์šฉ
  • CDN ์‚ฌ์šฉ
  • JS ํŒŒ์ผ์€ async / defer ์‚ฌ์šฉ
  • ๋žœ๋”๋ง ์ตœ์ ํ™”
  • ๋งˆํฌ์—… ๋ณต์žก๋„๋ฅผ ๋‹จ์ˆœํ™”
  • reflow ํ˜น์€ repaint ์ตœ์†Œํ™”

๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ํ™”๋ฉด ๋Œ€์‘ ๋ฐ ๋ฉ€ํ‹ฐ ํ”Œ๋ ›ํผ์— ๋Œ€ํ•œ ๋Œ€์‘ ๋ฐฉ์•ˆ ?

  • ๊ฐ ๋””๋ฐ”์ด์Šค๋ณ„ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋“ค
  • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์œ„ํ•œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉ

ES5 / ES6 ์˜ ์ฐจ์ด์ ์€ ?

  • const, let
  • promise
  • spread operator
  • rest parameter

screenX, pageX, clientX, offsetX, layerX ์˜ ์ฐจ์ด์ ์€ ?

  • screenX : ๋ชจ๋‹ˆํ„ฐ ๊ธฐ์ค€
  • pageX : document ๊ธฐ์ค€
  • clientX & offsetX : ๋ธŒ๋ผ์šฐ์ € ๊ธฐ์ค€
  • offsetX : ํƒ€๊ฒŸ ๊ธฐ์ค€

์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์‘๋‹ต์€ ์ž˜ ๋ฐ›์€ ์ƒํƒœ์ง€๋งŒ ์›น ํŽ˜์ด์ง€๊ฐ€ ๋น„์ •์ƒ ์ ์œผ๋กœ ๋ Œ๋”๋ง ๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์žˆ์„๊นŒ ?

  • JS ์˜ค๋ฅ˜
  • ๋ฌดํ•œ๋ฃจํ”„
  • ๋ฌธ๋ฒ•
  • ๋น„ ์ •์ƒ ์ ‘๊ทผ
  • ์„œ๋ฒ„ ์‘๋‹ต ์˜ค๋ฅ˜
  • DOM ํŒŒ์‹ฑ ์˜ค๋ฅ˜
  • ๋‹ซ๋Š” ํƒœ๊ทธ์˜ ์˜ค๋ฅ˜
  • ๋ฌธ์„œ๋ชจ๋“œ ๋ฐ ๋ฉ”ํƒ€ํƒœ๊ทธ ์ •๋ณด ์˜ค๋ฅ˜
  • ํŽ˜์ด์ง€ ์ธ์ฝ”๋”ฉ

querySelector ์™€ jQuery Selector ์˜ ์ฐจ์ด์  ?

  • querySelector : ๋ฐ˜ํ™˜์ด 1๊ฐœ
  • jQuery Selector : ๋ฐ˜ํ™˜๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ ๋ณต์ˆ˜ (querySelectorAll ๊ณผ ๊ฐ™์Œ)
  • querySelector ์—์„œ๋Š” class ๋กœ ๋งŽ์ด ์‚ฌ์šฉ์„ ์•ˆํ•˜๊ณ  attribute ๋กœ๋งŒ ์‚ฌ์šฉ (์„ฑ๋Šฅ์ ์ธ ์ธก๋ฉด ๋•Œ๋ฌธ์— / data ์†์„ฑ์ด ์ œ์ผ ๋น ๋ฆ„)

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Iteration Method ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…

  • Symbol.Iterator ์†์„ฑ์„ ๊ฐ–๋Š” ๊ฐ์ฒด๋ฅผ Iterable ํ•œ ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค.
  • Array.Prototype.forEach : ๋ชจ๋“  ์—˜๋ฆฌ๋จผํŠธ๋ฅผ callback ์— ๋„˜๊ฒจ ์‹คํ–‰
  • Array.Prototype.map : ์ธ์ž๋กœ ๋„˜๊ฒจ์ง„ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด
  • Array.Prototype.filter : ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ’๋“ค๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฆฌํ„ด

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ var ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐœ์ƒ๋˜๋Š” ํ˜„์ƒ ?

  • ์ „์—ญ ํ”„๋กœํผํ‹ฐ๋กœ ๋“ฑ๋ก ๋œ๋‹ค.
  • use strict (์—„๊ฒฉ๋ชจ๋“œ) ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉ์ง€ ๊ฐ€๋Šฅํ•˜๋ฉฐ eslint ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ํšจ๊ณผ
  • ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ 

RESTful ๊ฐœ๋ฐœ์‹œ HTTP Method ๋ฅผ ์„ค๋ช…

  • POST : ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑ
  • GET : ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญ
  • PUT & PATCH : ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝ
  • DELETE : ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œ

๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ์‹œ์— ๋ฐฑํ„ฐ์™€ ๋น„ํŠธ๋งต์˜ ์ฐจ์ด์ 

  • Vector : ๋ฐฉํ–ฅ๊ธฐ๋ฐ˜ (SVG)
  • Bitmap : ํ™”์†Œ๊ธฐ๋ฐ˜ (Canvas)

SPA ์—์„œ์˜ ๋’ค๋กœ๊ฐ€๊ธฐ

  • ์•ต์ปค๋‚˜ ํ•ด์‹œ๋ฑ… (#!) ๋ฅผ ํ†ตํ•œ ํžˆ์Šคํ† ๋ฆฌ ์กฐ์ž‘
  • pushState ๋ฅผ ์ด์šฉํ•œ ํžˆ์Šคํ† ๋ฆฌ ์กฐ์ž‘ ๋ฐฉ๋ฒ•

Promise ๋ž€ ?

  • ๋น„๋™๊ธฐ๋กœ ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํŒจํ„ด
  • then then ๊ตฌ๋ฌธ์œผ๋กœ ์‚ฌ์šฉ