TIL/JavaScript

TIL 15: Spread, Rest ๋ฌธ๋ฒ•, DOM

Deviloper๐Ÿ˜ˆ 2021. 8. 6. 22:48

๋งˆํฌ๋‹ค์šด์€ ์•„๋ฌด๋ฆฌ ์ฐพ์•„๋ด๋„ ํ˜•๊ด‘ํŽœ ๊ธฐ๋Šฅ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์š”... ์ฐพ์€ ๊ฒƒ ๊ฐ™์•„์„œ ์‹ ๋‚ฌ๋‹ค๊ฐ€ ๋˜ ๋ฌด์Šจ ๊ธฐ๋Šฅ ๋”ฐ๋กœ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค ๋˜์–ด์žˆ๊ณ .. ๊ทธ๋ž˜์„œ ํฌ๊ธฐํ•˜๊ณ  ๊ธฐ๋ณธ๋ชจ๋“œ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ˜•๊ด‘ํŽœ์€ ํฌ๊ธฐํ•  ์ˆ˜ ์—…์’€!

 

 

Spread / Rest

Spread ๋ฌธ๋ฒ•: ์ฃผ๋กœ ๋ฐฐ์—ด์„ ํ’€์–ด์„œ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ๋ฐฐ์—ด์„ ํ’€์–ด์„œ ๊ฐ๊ฐ์˜ ์š”์†Œ๋กœ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

Rest ๋ฌธ๋ฒ•: ํŒจ๋Ÿฌ๋ฏธํ„ฐ๋ฅผ ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋กœ ๋ฐ›์•„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

 

DOM

DOM์€ Document Object Model์˜ ์•ฝ์ž๋กœ, HTML ์š”์†Œ๋ฅผ Object์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ DOM์„ ํ™œ์šฉํ•˜์—ฌ HTML์— ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ณผ์ •์—์„œ <script>์š”์†Œ๋ฅผ ๋งŒ๋‚˜๋ฉด, HTMLํ•ด์„์„ ์ž ์‹œ ๋ฉˆ์ถ”๊ณ  <script> ์š”์†Œ๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

DOM ๊ตฌ์กฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ์—๋Š” console.dir ์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

console.dir ์€ console.log ์™€ ๋‹ฌ๋ฆฌ DOM์„ ๊ฐ์ฒด์˜ ๋ชจ์Šต์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

document๊ฐ์ฒด์—๋Š” ๋งŽ์€ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์ œ์ผ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ CRUD(Create, Read, Update and Delete)์ž…๋‹ˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

const container = document.querySelector('#container')  //Read: ์ตœ์ƒ๋‹จ div ํ•˜๋‚˜๋งŒ ์กฐํšŒ
const tweetDiv = document.createElement('div')  //Create
container.append(tweetDiv)  //Update
tweetDiv.remove()  //Delete



document.getElementById('div')  //id๊ฐ€ div์ธ element ํ•˜๋‚˜๋ฅผ ์กฐํšŒ
document.getElementByClassName('div')  //class๊ฐ€ div์ธ element ์—ฌ๋Ÿฌ๊ฐœ ์กฐํšŒ