λͺ©μ°¨
- μ£Όμ μ μ μ΄μ
- κ°μ²΄λ 무μμΈκ°?
2-1). κ°μ²΄μ μ μ λ° κ΅¬μ‘°
2-2). μ°Έμ‘°μ μ μ
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
3-1). κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° μΈμ΄μ νΉμ§
3-2). κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° μΈμ΄μ μ₯μ
λ²μΈ). ν¨κ» μμλλ©΄ μ’μ μ©μ΄
μλ°μ€ν¬λ¦½νΈκ° κ°μ²΄ μ§ν₯ μΈμ΄λΌλ κ²μ λ€λ€ μκ³ μμ κ²μ΄λ€. κ·ΈλΌ μ¬κΈ°μ λ§νλ κ°μ²΄λ κ³Όμ° λ¬΄μμΈκ°?
μ°λ¦¬κ° μκ³ μλ κ°μ²΄λ ν€μ κ°μΌλ‘ μ΄λ£¨μ΄μ§ μ€κ΄νΈ λΌκ³ μκ³ μλλ°, μ΄μ λν΄ μμΈν νμ
νμ¬ μμ
μ νκ±°λ νμ
μ ν λ, λ³΄λ€ λ μννκ² μν΅ν μ μλλ‘ λκ³ μ μ‘°μ¬ν΄λ΄€λ€.
κ°μ²΄ : νλ‘κ·Έλλ° μΈμ΄μμ λ°μ΄ν°λ ν¨μλ₯Ό λ΄μλ΄λ μ°Έμ‘° μλ£νμΌλ‘, νλ‘νΌν°μ λ©μλλ‘ μ΄λ£¨μ΄μ Έ μλ€.
νλ‘νΌν° : κ°μ²΄μ μν λ°μ΄ν°λ₯Ό λνλ΄λ κ°μΌλ‘, ν€(key)μ κ°(value)λ‘ μ΄λ£¨μ΄μ Έ μλ€. νλ‘νΌν°μ μ μ¬ν μ©μ΄λ‘, μμ±(attribute)μ΄ μλ€.
λ©μλ : νλ‘νΌν° μ€, κ°μ΄ ν¨μμΈ κ²½μ°, λ€λ₯Έ ν¨μμ ꡬλΆνκΈ° μν΄ ν΄λΉ νλ‘νΌν°λ₯Ό λ©μλλΌκ³ λΆλ₯Έλ€.
μ°Έμ‘° : κ°μ΄ λ΄κΈ΄ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°μ Έμ¨λ€λ κ²μ μλ―Έ, κ²°κ΅ κ°μ²΄λ μλ³μ(λ³μ)μκ² κ°μ΄ μλ λ©λͺ¨λ¦¬ μ£Όμλ§ μλ €μ£ΌκΈ°μ μ°Έμ‘° μλ£ν μ΄λΌκ³ νλ€.
β»κ°μ²΄μ μ£Όμλ₯Ό λΉκ΅νλ©΄ λ€λ₯΄μ§λ§, κ°μ²΄μ μμ±(νλ‘νΌν°)μ μ κ·Όνμ¬ κ°μ λΉκ΅νλ©΄ κ°λ€!
// μμ 1. κ°μ²΄μ μ£Όμ λΉκ΅μ μμ± κ° λΉκ΅
let person1 = { age: 27,
name : Daniel};
let person2 = { age: 27,
name : Daniel};
person1 === person2 // κ°μ²΄ person1κ³Ό person2μ μ£Όμλ λ€λ₯΄κΈ°μ false
person1.age === person2.age // κ°μ²΄ person1κ³Ό person2μ ageλ 27λ‘ κ°κΈ°μ true
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° : λ°μ΄ν°λ ν¨μλ₯Ό νλμ κ°μ²΄ λ¨μλ‘ λ¬Άμ λ 립λ κ°μ²΄κ°μ μνΈμμ©μ νλ νλ‘κ·Έλλ° λ°©μ
κ°μ²΄ μ§ν₯ νλ‘κ·Έλ¨ μΈμ΄ : C++, Java, JavaScript...
β» λ©μλ μ€λ²λΌμ΄λ© : μμ κ΄κ³μμ λΆλͺ¨ ν΄λμ€μ λ©μλλ₯Ό μμ ν΄λμ€μμ μ¬μ μνμ¬ μ¬μ©νλ κ²
class Animal { // λΆλͺ¨ ν΄λμ€
constructor(name) {
this.name = name;
}
speak() { // μ²μ μ μΈν λ©μλ
console.log(`${this.name} makes a noise.`);
}
}
class Dog extends Animal { // μμ ν΄λμ€
speak() { // κ°μ λͺ
μ ν΄λμ€λ₯Ό μ¬μ μ -> λ€νν
console.log(`${this.name} barks.`);
}
}
class Cat extends Animal {
speak() { // κ°μ λͺ
μ ν΄λμ€λ₯Ό μ¬μ μ -> λ€νν
console.log(`${this.name} meows.`);
}
}
const animals = [new Dog('Rufus'), new Cat('Mittens')];
animals.forEach(animal => {
animal.speak();
});
β» λͺ¨λν : μ½λλ₯Ό νλμ νμΌμ μμ±νλ κ²μ΄ μλλΌ, λλμ΄ λ§μΉ 쑰립νλ―μ΄ κ΅¬μ‘°νμν€λ κ²μ μλ―Έ
// myModule.js // 보λ΄λ λͺ¨λ
export const foo = function() {
console.log("Hello, World!");
};
export const bar = function() {
console.log("Bye, World!");
};
// app.js // λ°λ λͺ¨λ
import { foo, bar } from './myModule';
foo(); // "Hello, World!" μΆλ ₯
bar(); // "Bye, World!" μΆλ ₯