๊ด€๋ฆฌ ๋ฉ”๋‰ด

Bin's Blog

[์œ ๋ฐ๋ฏธx์Šค๋‚˜์ดํผํŒฉํ† ๋ฆฌ] 10์ฃผ ์™„์„ฑ ํ”„๋กœ์ ํŠธ ์บ ํ”„ 10์ผ์ฐจ - JS ๋ณธ๋ฌธ

ํ•™์Šต์ผ์ง€

[์œ ๋ฐ๋ฏธx์Šค๋‚˜์ดํผํŒฉํ† ๋ฆฌ] 10์ฃผ ์™„์„ฑ ํ”„๋กœ์ ํŠธ ์บ ํ”„ 10์ผ์ฐจ - JS

hotIce 2023. 6. 17. 09:50
728x90

 ๐Ÿค” DOM(Document Object Model)์ด๋ž€?

๐Ÿ‘‰ ๋„“์€ ์˜๋ฏธ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML ํŽ˜์ด์ง€๋ฅผ ์ธ์‹ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.

๐Ÿ‘‰ ์ •์ ์œผ๋กœ ๋ฌธ์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ: ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML ํŽ˜์ด์ง€์— ์ ํ˜€ ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ์ฝ์œผ๋ฉด ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ

๐Ÿ‘‰ ๋™์ ์œผ๋กœ ๋ฌธ์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ: ์›๋ž˜ HTML ํŽ˜์ด์ง€์— ์—†๋˜ ๋ฌธ์„œ๊ฐ์ฒด๋ฅผ JavaScript๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์„ฑ

 

 

1๏ธโƒฃ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์žฅ์ 

๐Ÿ‘‰ HTML๊ณผ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌ

๐Ÿ‘‰ HTML ๋ฐ JavaScript๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ฝ๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘‰ ์บ์‹œ๋œ JavsScript ํŒŒ์ผ์€ ํŽ˜์ด์ง€ ๋กœ๋“œ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“š ์บ์‹œ๋ž€?

๐Ÿ‘‰ ์ปดํ“จํ„ฐ์—์„œ ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์„ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ž„์‹œ ์ €์žฅ์†Œ๋ฅผ ์ผ์ปซ๋Š”๋ฐ ์›นํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ๊ทธ ์›นํŽ˜์ด์ง€์˜ ์ •๋ณด๋“ค์ด ์ปดํ“จํ„ฐ์˜ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์— ์ž„์‹œ์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

๐Ÿ‘‰ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ(์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋™์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‚˜)์„ ์ค„์ด๊ณ  ์›น ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.

 

 

2๏ธโƒฃ ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

  ํ‚ค์›Œ๋“œ ์žฌํ• ๋‹น ์žฌ์„ ์–ธ
๋ณ€์ˆ˜(๊ตฌ JS) var O O
๋ณ€์ˆ˜ let O X
์ƒ์ˆ˜ const X X

3๏ธโƒฃ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ดํ„ฐ ์œ ํ˜•

// Numbers;
let length = 16;
let weight = 7.5;

// Strings;
let color = "Yellow";
let lastName = "Johnson";

// Booleans
let x = true;
let y = false;

// Object
const person = {firstName:"John", lastName: "Doe"};

// Array Object
const cars = ["Saab", "Volvo", "BMW"];

// Data Object
const date = new Date("2022-03-25");

 

4๏ธโƒฃ this

const person = {
  firstName: "John",
  lastName: "Doe",
  id: 5566,
  fullName : function() {
     return this.furstName + " " + this.lastName;
  }

}

๐Ÿ‘‰ this๋Š” person ๊ฐœ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค

๐Ÿ‘‰ this.firstName์€ this์˜ firstName ์†์„ฑ์„ ์˜๋ฏธํ•œ๋‹ค

๐Ÿ‘‰ this.firstName์€ person์˜ firstName ์†์„ฑ์„ ์˜๋ฏธํ•œ๋‹ค.

 

5๏ธโƒฃ HTML element 

ํ•จ์ˆ˜ ์„ค๋ช…
getElementById(id) ํŠน์ • ID๋ฅผ ๊ฐ€์ง„ ์š”์†Œ ์กฐํšŒ
getElementByName(name) Name ์†์„ฑ์„ ๊ฐ€์ง„ ์š”์†Œ ์กฐํšŒ
getElementByTagName(tagName) Tag Name ๊ธฐ์ค€์œผ๋กœ ์š”์†Œ ์กฐํšŒ
getElementByClassName(className) ํŠน์ • class๋ฅผ ๊ฐ€์ง„ ์š”์†Œ ์กฐํšŒ
innerText ์š”์†Œ ์•ˆ์— ์žˆ๋Š” ๊ธ€์ž๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ฌ๋•Œ ์‚ฌ์šฉ
HTMLElement.innerHTML ํƒœ๊ทธ ๋‚ด ์ƒˆ๋กœ์šด ์š”์†Œ ๊ฐ์ฒด๋‚˜ ๋‚ด์šฉ์„ ์ €์žฅ ๋ฐ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉ
HTMLInputElement.value input ํƒœ๊ทธ์˜ value๊ฐ’์„ ์ €์žฅ ๋ฐ ์กฐํšŒ ํ• ๋•Œ ์‚ฌ์šฉ

 

6๏ธโƒฃ switch-case ๋ฌธ

const device = "iphone";

switch(device) {
 case 'iphone':
 	console.log("์•„์ดํฐ");
    
 case 'ipad':
 	console.log("์•„์ดํŒจ๋“œ");

 default:
    console.log("๊ฐค๋Ÿญ์‹œ");
}

 

7๏ธโƒฃ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์ฃผ์˜์‚ฌํ•ญ

//ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
const cat = {
   name : "meow";
   callName: () => console.log(this.name);

}

//undefined
cat.callName();


// ์ผ๋ฐ˜ํ•จ์ˆ˜
const cat = {
  name: "meow",
  callname: function() { console.log(this.name); }
}
console.log(cat.name);  // "meow"
cat.callname(); // "meow"

๐Ÿ‘‰ ๊ฐ์ฒด ์•ˆ์—์„œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์“ฐ๊ฒŒ ๋˜๋ฉด this๋Š” ์ „์—ญ๊ฐ์ฒด๋กœ ์ธ์‹ํ•˜๊ฒŒ ๋ผ์„œ undefined๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. 

๐Ÿ‘‰ ๋”ฐ๋ผ์„œ ๊ฐ์ฒด ์•ˆ์—์„œ๋Š” ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๋ง๊ณ  ์ผ๋ฐ˜ํ•จ์ˆ˜๋ฅผ ์จ์•ผ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ์ด ๋œ๋‹ค. 

 

โ—๏ธ๋Š๋‚€์ 

๐Ÿ‘‰ ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•ด์„œ ์‹ค์Šต์„ ํ–ˆ์„๋•Œ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ๋‹นํ™ฉํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด์„œ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

 

 

๋ณธ ํ›„๊ธฐ๋Š” ์œ ๋ฐ๋ฏธ-์Šค๋‚˜์ดํผํŒฉํ† ๋ฆฌ 10์ฃผ ์™„์„ฑ ํ”„๋กœ์ ํŠธ์บ ํ”„ ํ•™์Šต ์ผ์ง€ ํ›„๊ธฐ๋กœ ์ž‘์„ฑ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

728x90