A : ๋๊ฐ์ง์ ๋ฉ์๋๋ DOM์์ ์์์ ์ฝํ ์ธ ๋ฅผ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ๋ฉ์๋์ ๋๋ค.
innnerHTML์ HTML ์ฝํ ์ธ ๋ฅผ ๋ค๋ฃจ๊ณ HTML์ ํ์ฑํ๋ฏ๋ก XSS ๊ณต๊ฒฉ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. textContent๋ ํ ์คํธ ์ฝํ ์ธ ๋ง์ ๋ค๋ฃจ๊ณ HTMLํ์ฑํ์ง ์์ผ๋ฏ๋ก XSS ๊ณต๊ฒฉ์ ์์ ํ๋ฉฐ, ํ ์คํธ๋ง ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ๋ ํผํผํ ๋ฐฉ๋ฒ์ ๋๋ค.
innerHTML
: ์์ ๋ด์์ HTML๊ณผ XML ๋ชจ๋ ์๋ฏธ
innerText
: ์์ ๋ด์์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ text๋ง ์๋ฏธ
textContent
: < script >, < style >์ ์๊ด์์ด ํด๋น ๋
ธ๋๊ฐ ๊ฐ์ง๊ณ ์๋ text๋ฅผ ์๋ฏธ
A : ํด๋น ๋ฉ์๋๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์์ ๋ ๊ธฐ๋ณธ ๋์(ํผ ์ ์ถ, ๋งํฌ ํด๋ฆญ์ ํ์ด์ง ์ด๋ ๋ฐฉ์ง)์ ๋ง๊ณ , ๋์ ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ํ ๋์์ ์คํํ๋๋ก ํ๋ ๋ฉ์๋์ ๋๋ค. ์ฃผ๋ก ํผ ์ ์ถ ๋ฐฉ์ง๋ ๋งํฌ ํด๋ฆญ์ ํ์ด์ง ์ด๋ ๋ฐฉ์ง ๋ฑ์ ์ฌ์ฉ๋๋ฉฐ, ์ฌ์ฉ์ ์ ์ ๋ก์ง์ ์ ์ฉํ ๋ ์ ์ฉํฉ๋๋ค.
A : Real DOM์ ์ง์ ๋ธ๋ผ์ฐ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ ์ค์ HTML ๋ํ๋ด๊ณ ์ง์ ์กฐ์ํ๊ณ , Virtual DOM์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์์ผ๋ก ์กด์ฌํ๋ ์ค์ DOM์ ๊ฐ์๋ณธ์ด๋ฉฐ, ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ ๋๋ง๋ค ์ค์ DOM๊ณผ ๋น๊ตํ์ฌ ์ต์ํ์ ์กฐ์๋ง์ ์ํํ์ฌ ์ฑ๋ฅ์ ํฅ์ ์ํต๋๋ค.
Virtual DOM์ ์ฌ์ฉํจ์ผ๋ก์ ์ฑ๋ฅ ์ต์ ํ์ ์ฝ๋ ์ ์ง๋ณด์ ์ฉ์ด์ฑ์ ๋์ผ ์ ์์ผ๋ฉฐ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ๋ฉด ์ ๋ฐ์ดํธ ๋ฐ ๊ด๋ฆฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๋๋ก ๋์์ค๋๋ค.
A : Shadow DOM์ ์น ์ปดํฌ๋ํธ์ ์ค์ฝํ๋ฅผ ์ง์ ํ๊ธฐ ์ํ ์น ํ์ค ๊ธฐ์ ์คํ๋์ ๋๋ค. ์น ์ปดํฌ๋ํธ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ ๋ฆญ์ ์ธ ๋ถ๋ถ๋ค์ ๋ํ๋ด๋๋ฐ ์ฌ์ฉ๋๋ฉฐ, Shadow DOM์ ์ด๋ฌํ ์ปดํฌ๋ํธ์ ์คํ์ผ๊ณผ ๋ ผ๋ฆฌ๋ฅผ ์บก์ํํ๊ณ ๋ถ๋ฆฌํ๊ธฐ ์ํด ๋์ ๋์์ต๋๋ค.
Shadow DOM์ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ ๊ฐ์ ์คํ์ผ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ๋ ๋๋ง์ ์บก์ํํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ผ ์ ์์ต๋๋ค.