[ํฌ์Šค์ฝ” x ์ฝ”๋”ฉ์˜จ] ์›น ๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 4์ฃผ์ฐจ ์ˆ˜์—… ํšŒ๊ณ 

2023. 2. 19. 23:13ใ†Coding On X Posco

๐Ÿฏ  ํฌ์Šค์ฝ” x ์ฝ”๋”ฉ์˜จ ์›น๊ฐœ๋ฐœ์ž ๋ถ€ํŠธ์บ ํ”„ 4์ฃผ์ฐจ ์ˆ˜์—… ํšŒ๊ณ  

 

1. ๋ฐฐ์—ด

4์ฃผ์ฐจ ์ฒซ๋ฒˆ์งธ๋กœ ์ˆœ์„œ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์ธ ๋ฐฐ์—ด์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๋‹ค.

๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์•˜๊ณ  ๋ฐฐ์—ด์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” length, push, pop, shift ๋“ฑ ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ์•„๋ณด๋ฉด์„œ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๋ฐฐ์—ด ์‹ค์Šต

const kdt = ["๋ฐ•์ง€์›", "๊น€๋ฏผ์ •", "์†ก๋ฏผ์˜", "์ด์ฐฌํ˜ธ"];

kdt.push("์ง€์›"); //๋ฐฐ์—ด ๋์— ์ถ”๊ฐ€
console.log(kdt);

kdt.pop(); // ๋ฐฐ์—ด ๋ ์š”์†Œ ์ œ๊ฑฐ
console.log(kdt);


kdt.unshift("์ง€์›"); //๋ฐฐ์—ด ์•ž์— ์ถ”๊ฐ€
console.log(kdt);

kdt.shift("์ง€์›"); //๋ฐฐ์—ด ์•ž ์š”์†Œ ์ œ๊ฑฐ
console.log(kdt);

for (let i = 0; i < kdt.length; i += 1) {
  console.log(`5๋ฒˆ์งธ ์ค„์˜ ${i + 1}๋ฒˆ์งธ ์ฐธ์—ฌ์ž์˜ ์ด๋ฆ„์€ ${kdt[i]} ์ž…๋‹ˆ๋‹ค. `);
}
// ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๊ฐ™์€์ค„์˜ ์ฐธ์—ฌ์ž ์ถœ๋ ฅ

 

2. ๊ฐ์ฒด

๋‹ค์Œ์œผ๋กœ key ์™€ value๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๊ณ  ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค, key์™€ value๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

๋˜ for in ๋ฐ˜๋ชฉ๋ถ„์„ ํ†ตํ•ด ๊ฐ์ฒด์˜ key์™€ value์— ์ ‘๊ทผํ•˜์—ฌ ํšจ์œจ์ ์ธ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์•Œ์•„๋ณด์•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ๋กœ ํ• ๋‹น ๋œ ํ•จ์ˆ˜์ธ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๊ณ  ๋ฉ”์„œ๋“œ์˜ ์„ ์–ธ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ๋ฒ•, ๋ฉ”์„œ๋“œ์—์„œ์˜ this ์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๋‹ค.

 

- ๊ฐ์ฒด ์ƒ์„ฑ, ์ ‘๊ทผ ๋ฐ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€,์‚ญ์ œ

// ๊ฐ์ฒด ์ƒ์„ฑ
let superman = {
    name: "Clark",
age: 33 }

// ๊ฐ์ฒด ์ ‘๊ทผ 
console.log(superman.name); 
console.log(superman.age);

// ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ 
superman.gender = "M"; 
superman["height"] = 187; 
console.log(superman);

// ๊ฐ์ฒด ๋ฐ์ดํ„ฐ ์‚ญ์ œ 
delete superman.height; 
console.log(superman);

 

 

 

- ํ”„๋กœํผํ‹ฐ ์ƒ์„ฑ ๋ฐฉ๋ฒ•๋“ค, this ์‚ฌ์šฉ

const pororo = {
  name: "๋ฝ€๋กœ๋กœ",
  age: 7,
  height: 190,
  weight: 120,
  //   running: function () {
  //     console.log("๋ฝ€๋กœ๋กœ๊ฐ€ ๋œ๋‹ˆ๋‹ค.");
  //   },
  running() {
    console.log("๋ฝ€๋กœ๋กœ๊ฐ€ ๋œ๋‹ˆ๋‹ค!");
  },
  cute() {
    console.log("๋ฝ€๋กœ๋กœ๋Š” ๊ท€์—ฝ์Šต๋‹ˆ๋‹ค!");
  },
  hello() {
    console.log(`my name is ${this.name}`);
  },
  showHeight,
};

function showHeight() {
  console.log(`My height is ${this.height}`);
} //์—ฌ๋Ÿฌ ๊ฐ์ฒด์— ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

- ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ์˜ this

let boy = {
	name: 'Mike" ,
    	sayHello : () => {
    		console.log(this);  //ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋Š” ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ์ž์‹ ๋งŒ์˜ this๋ฅผ ์•Š๊ณ  ์™ธ๋ถ€์—์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ด
    	}
}

boy.sayHello();  // window -> ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ :window, node.js :global

 

3. ์ƒ์„ฑ์ž ํ•จ์ˆ˜

ํŠน์„ฑ์ด ๋น„์Šทํ•œ ๊ฐ์ฒด๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ๋„ ๋ฐฐ์› ๋‹ค.

์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๋‹ค.

 

- ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ ์‹ค์Šต

function Kdt(name, gender) {
  this.name = name;
  this.gender = gender;
  this.showInfo = () => {
    console.log(`์ฐธ์—ฌ์ž์˜ ์ด๋ฆ„์€ ${this.name}๋‹˜ ์„ฑ๋ณ„์€ ${this.gender} ์ž…๋‹ˆ๋‹ค.`);
    //ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ this ์—†๊ณ  ์ƒ์„ฑ์ž ํ•จ์ˆ˜๊บผ ๊ฐ€์ ธ์™€์„œ ๊ฐ€๋Šฅ
  };
}

const user1 = new Kdt("๋ฐ•์ง€์›", "M");
const user2 = new Kdt("๊น€๋ฏผ์ •", "F");
const user3 = new Kdt("์†ก๋ฏผ์˜", "F");
const user4 = new Kdt("์ด์ฐฌํ˜ธ", "M");

user1.showInfo();
user2.showInfo();
user3.showInfo();
user4.showInfo();

 

4. ํด๋ž˜์Šค

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ํ‹€์ธ ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ๋„ ๋ฐฐ์› ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ class๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์กฐ๊ธˆ ๋” ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์•ฝ๊ฐ„์˜ ๊ธฐ๋Šฅ์„ ๋”ํ•œ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ Syntactic Sugar๋ผ๊ณ  ํ•œ๋‹ค.

ํ˜ธ์ด์ŠคํŒ…์˜ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋Š” ์„ ์–ธ ์ „์— ์‚ฌ์šฉํ•ด๋„ ์ƒ๊ด€ ์—†์ง€๋งŒ ํด๋ž˜์Šค๋Š” strict mode๊ฐ€ ์ ์šฉ๋˜์–ด ์„ ์–ธ์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํŠน์„ฑ๋„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋˜ extends ์™€ super๋ฅผ ํ†ตํ•œ ํด๋ž˜์Šค์˜ ์ƒ์†๊ณผ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” over riding์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๋‹ค.

 

- ํด๋ž˜์Šค ์‹ค์Šต 

class Shape {
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  getArea() {
    return this.width * this.height;
  }
}

class Rectangle extends Shape {
  constructor(width, height) {
    super(width, height);
  }
}

class Triangle extends Shape {
  constructor(width, height) {
    super(width, height);
  }

  getArea() {
    return super.getArea() / 2;
  }
}

class Circle extends Shape {
  constructor(width, height, radius) {
    super(width, height);
    this.radius = radius;
  }

  getArea() {
    return 3.14 * this.radius ** 2;
  }
}

const rectangleArea = new Rectangle(2, 4);
const triangleArea = new Triangle(3, 6);
const circleArea = new Circle(1, 2, 3);

console.log(`Rectangle Area : ${rectangleArea.getArea()}`);
console.log(`Triangle Area : ${triangleArea.getArea()}`);
console.log(`Circle Area : ${circleArea.getArea()}`);

 

5. DOM(Document Object Model)

HTML ๋ฌธ์„œ๋Š” node์™€ object์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ฌธ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ๊ฐ๊ฐ node์™€ object์— ์ ‘๊ทผํ•˜์—ฌ ๋ฌธ์„œ์˜ ๊ตฌ์กฐ/์Šคํƒ€์ผ/๋‚ด์šฉ ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” dom์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์š”์†Œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” querySelector, querySelectorAll, getElementById๋ฅผ ์•Œ์•„๋ณด์•˜๊ณ , ์„ ํƒํ•œ ์š”์†Œ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” classList, setAttribute,  textContent, innerHTML, innerText, createElement, append, appendChild, prepend, remove, parent(child)Node ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ฌ์šฉํ•ด ๋ณด๋ฉฐ ์‚ฌ์šฉ๋ฒ•์„ ์ตํ˜”๋‹ค.

๋˜ ํŽ˜์ด์ง€์—์„œ ์ด๋ฒคํŠธ๋ฅผ ์ œ์–ดํ•˜๋Š” addEventListener๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์› ๊ณ  this์™€ e.target(์ด๋ฒคํŠธ ํƒ€๊ฒŸ)์„ ํ†ตํ•ด ์ด๋ฒคํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜๋‹ค.

์•ž์„œ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค๊ณผ dom์„ ํ†ตํ•ด html๊ณผ css๋กœ๋งŒ ๋งŒ๋“ค์—ˆ๋˜ starbucks ํด๋ก  ํŽ˜์ด์ง€์— javascript๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…๋„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

- ์‹ค์Šต todo list ๋งŒ๋“ค๊ธฐ

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script defer src="./todo_answer.js"></script>
    <link rel="stylesheet" href="./todo.css" />
  </head>

  <body>
    <div class="header">
      <h1>Jiwon Todo List</h1>
    </div>
    <div class="contents">
      <div class="input-part">
        <input type="text" class="input-task" />
        <input type="button" class="input-btn" value="์ถ”๊ฐ€" />
      </div>
      <div class="list-part">
        <ul class="todo-list"></ul>
      </div>
    </div>
  </body>
</html>
const addBtn = document.querySelector(".input-btn");
const todoList = document.querySelector(".todo-list");
const inputTask = document.querySelector(".input-task");

addBtn.addEventListener("click", function () {
  if (inputTask.value === "") {
    inputTask.setAttribute("placeholder", "๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”!");
    return;
  }

  const li = document.createElement("li");
  li.textContent = inputTask.value;
  const checkBtn = document.createElement("input");
  checkBtn.setAttribute("type", "checkbox");
  const delBtn = document.createElement("button");
  delBtn.innerHTML = "์‚ญ์ œ";

  todoList.append(li);
  li.prepend(checkBtn);
  li.append(delBtn);
  inputTask.value = "";

  checkBtn.addEventListener("click", function () {
    if (checkBtn.checked === true) {
      li.style.textDecoration = "line-through";
    } else {
      li.style.textDecoration = "none";
    }
  });

  delBtn.addEventListener("click", function () {
    li.remove();
  });
});

 

6. ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์— ์œ ์šฉํ•œ js ๊ธฐ๋Šฅ

๋ฌธ์ž ๊ด€๋ จ ๊ธฐ๋Šฅ

- ๋ฌธ์ž์—ด ๊ธธ์ด : ๋ฌธ์ž์—ด.length

- ๋ฌธ์ž๋ฅผ ์œ„์น˜ ์ฐพ๊ธฐ : ๋ฌธ์ž์—ด.indexOf("์ฐพ์„ ๋ฌธ์ž์—ด")

- ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ : ๋ฌธ์ž์—ด.slice(์‹œ์ž‘์œ„์น˜, ์ข…๋ฃŒ์œ„์น˜)

- ๋ฌธ์ž์—ด ๋ฐ”๊พธ๊ธฐ : ๋ฌธ์ž์—ด.replace("์ฐพ์„ ๋ฌธ์ž", "๋ฐ”๊ฟ€ ๋ฌธ์ž")

- ๋ฌธ์ž์—ด ๋ฐ˜๋ณตํ•˜๊ธฐ : ๋ฌธ์ž์—ด.repeat(๋ฐ˜๋ณตํšŸ์ˆ˜)

- ์•ž ๋’ค ๊ณต๋ฐฑ ๋ฌธ์ž ์ œ๊ฑฐํ•˜๊ธฐ : ๋ฌธ์ž์—ด.trim()

 

์ˆ˜ํ•™ ๊ด€๋ จ ๊ธฐ๋Šฅ

- ์ ˆ๋Œ€๊ฐ’ : Math.abs()

- ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ“๊ฐ’: Math.min(), Math.max()

- ์˜ฌ๋ฆผ : Math.ceil()

- ๋ฒ„๋ฆผ : Math.floor()

- ๋ฐ˜์˜ฌ๋ฆผ : Math.round()

- ๋žœ๋ค : Math.random()

 

๋ฐฐ์—ด ๊ด€๋ จ ๊ธฐ๋Šฅ

- arr.map : ๊ธฐ์กด ๋ฐฐ์—ด์— ํŠน์ • ์ž‘์—…์„ ํ•œ ๋ฐฐ์—ด์„ ๋ฆฌํ„ด, ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

   => arr(function(๋ฐฐ์—ด์˜ ๊ฐ’, ์ธ๋ฑ์Šค, ์›๋ณธ๋ฐฐ์—ด){ ์ž‘์—… });

- arr.filter : ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ฐฐ์—ด ์š”์†Œ๋งŒ์„ ๋ฐ˜ํ™˜

   => arr.filter(function(๋งค๊ฐœ๋ณ€์ˆ˜){return ์กฐ๊ฑด});

- arr.include : ํ•ด๋‹น ๋ฐฐ์—ด์— ์ง€์ •ํ•œ ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ

   => arr.include(์š”์†Œ)

- find / findIndex : ๋ฐฐ์—ด์— ํŠน์ • ๊ฐ’์ด ์žˆ๋Š”์ง€ ์ฐพ๊ณ  ๋ฐ˜ํ™˜ / ๋ฐฐ์—ด์— ํŠน์ • ๊ฐ’์ด ์žˆ๋Š”์ง€ ์ฐพ๊ณ  ์œ„์น˜ ๋ฐ˜ํ™˜

- arr.reduce : ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ฉ”์„œ๋“œ

   => arr.reduce(function(๋ˆ„์‚ฐ๊ธฐ, ๋ฐฐ์—ด์˜ ๊ฐ’, ์ธ๋ฑ์Šค, ์›๋ณธ๋ฐฐ์—ด),๋ˆ„์‚ฐ๊ธฐ ์ดˆ๊ธฐ ๊ฐ’)

 

๊ฐ์ฒด ๊ด€๋ จ ๊ธฐ๋Šฅ

- object.assign() : ๊ฐ์ฒด์˜ ๋ณ‘ํ•ฉ์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ, ๊ธฐ์กด์— ์„ ์–ธ๋œ ๊ฐ์ฒด์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ฐ€์ƒ์˜ Object๋ผ๋Š” ๊ฒƒ์„ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•˜๋Š” ์ •์  ๋ฉ”์„œ๋“œ ๊ฐ™์€ key๊ฐ’์ด ์žˆ๋‹ค๋ฉด ๋’ค์— ์ง€์ •ํ•œ value๋กœ ๋ฎ์–ด ์”Œ์›€

- ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น : ๊ฐ์ฒด ๋˜๋Š” ๋ฐฐ์—ด์˜ ๊ฐ๊ฐ ๊ฐ’์„ ๋ถ„ํ•ดํ•˜์—ฌ ๋ณ€์ˆ˜์— ๋„ฃ์–ด ์‚ฌ์šฉ

// ๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น
const jiwon = {
  name: "๋ฐ•์ง€์›",
  age: 26,
  brain: "empty",
};

// const name = jiwon.name; //์›๋ž˜
const { name: jiwonName, age, brain, girlFriend = "์—†์Œ" } = jiwon;
 //๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น, : ๋ณ€์ˆ˜๋ช… ์“ฐ๋ฉด ๋ณ€์ˆ˜๋ช… ๊ต์ฒด ๊ฐ€๋Šฅ =์‚ฌ์šฉํ•ด์„œ default ๊ฐ’ ์ค„์ˆ˜ ์žˆ์Œ
console.log(jiwonName, age, brain, girlFriend);

- ์ „๊ฐœ ์—ฐ์‚ฐ์ž : ๋ฐฐ์—ด์˜ ๊ฐ’์„ ,๋‹จ์œ„๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ „๊ฐœ์‹œ์ผœ์ฃผ๋Š” ์—ฐ์‚ฐ์ž

const fruits = ["์‚ฌ๊ณผ", "๋ฐ”๋‚˜๋‚˜", "์ˆ˜๋ฐ•", "๋ง๊ณ ", "๋”ธ๊ธฐ"];
console.log(fruits);
console.log(...fruits);

function conLog(a, b, ...c) {
  console.log(a, b, c);
}

// conLog(fruits[0], fruits[1], fruits[2]);
conLog(...fruits);

const str = "apple";
const strToArr = [...str];
const strToArr2 = str.split("");

console.log(strToArr);
console.log(strToArr2);

- ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž : ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๋„ˆ๋ฌด ๋งŽ์€ ๊ฐ’๋“ค์ด ๋“ค์–ด์˜ฌ ๋•Œ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

 

7. ๋А๋‚€ ์ 

์ด๋ฒˆ ์ฃผ์ฐจ์— ๋ฐฐ์› ๋˜ ๊ฒƒ๋“ค์€ ์• ๋งคํ•˜๊ฒŒ ์•Œ๊ณ ์žˆ๋˜ ๋ถ€๋ถ„๋“ค์ด ๋งŽ์•˜๊ณ  ํ•ด๋‹น ๋ถ€๋ถ„๋“ค์„ ๋” ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ณ  ์‹ค์Šต๊ณผ ํ”„๋กœ์ ํŠธ ์ ์šฉ์„ ํ†ตํ•ด ๊ฐ์„ ์ตํž ์ˆ˜ ์žˆ์–ด์„œ ์žฌ๋ฐŒ์—ˆ๋‹ค.

์ด๋ก ์œผ๋กœ ๋ฐฐ์šธ ๋•Œ๋Š” ์ดํ•ดํ–ˆ์ง€๋งŒ ์ง์ ‘ ์‹ค์Šต์„ ํ†ตํ•ด ์‚ฌ์šฉํ•  ๋•Œ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„์ด ๋งŽ์•˜์ง€๋งŒ ์ƒ๊ฐ์„ ๋งŽ์ด ํ•ด๋ณด๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฐฉ๋ฒ•๋“ค๋„ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋งŽ์€ ๋„์›€์ด ๋ฌ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๋˜ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ๊ถ๊ธˆํ–ˆ๋˜ ์ ๋“ค๊ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ข‹์€ ํŒ๋“ค์„ ๋งŽ์ด ์•Œ ์ˆ˜ ์žˆ์—ˆ๋˜ ํ•œ์ฃผ์˜€๋‹ค.