ν΄λμ€μ μΈμ€ν΄μ€
βοΈ ν΄λμ€
ν΄λμ€λ?
ν΄λμ€λ μμ±κ³Ό λ©μλλ₯Ό μ μνλ 곡κ°μ΄λ€.
μμ±μ ν΄λμ€μ ν¬ν¨λλ λ³μλ₯Ό μλ―Ένκ³ , λ©μλλ ν΄λμ€μ ν¬ν¨λλ ν¨μλ₯Ό μλ―Ένλ€.
ν΄λμ€λ₯Ό μ μνλ λ°μλ 2κ°μ§ λ°©λ²μ΄ μλ€.
- ν¨μλ‘ μ μ (ES5 λ¬Έλ²)
function Introduce(name, age, favorite) {
// μΈμ€ν΄μ€ λ§λ€μ΄μ§ λ μ€νλλ μ½λ
}
- class ν€μλλ‘ μ μ (ES6 λ¬Έλ²)
class Introduce {
constructor(name, age, favorite) {
// μΈμ€ν΄μ€κ° λ§λ€μ΄μ§ λ μ€νλλ μ½λ
}
}
μ¬κΈ°μ constructor
λ ν΄λμ€κ° μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μμ±ν λ κ°μ²΄λ₯Ό μ΄κΈ°ννλ λ©μλμ΄λ€.
constructor
λ©μλλ₯Ό λ€μκ³Ό κ°μ΄ μ¬μ©νλ€λ©΄,
class Person {
constructor() {
this.name = 'subin';
}
}
let sujin = new Person();
Person
ν΄λμ€μ μμ±μ λ©μλμ this.name = 'subin'
μ μν΄ sujin.name
μ κ°μ 'subin'
μΌλ‘ κ³ μ λλ κ²μΌλ‘ μ΄κΈ°νλ₯Ό μννλ€.
λ§μ½, constructor
λ©μλκ° μλμ κ°μ΄ μ¬μ©λλ©΄
class Person {
constructor(name) {
this.name = name;
}
}
let sujin = new Person('sujin');
μ΄λ²μλ 첫 λ²μ§Έ μμμ λ€λ₯΄κ² construnctor
ν΄λμ€ μμ±μμ name
μμ±μ λΆμ¬νκΈ° λλ¬Έμ, sujin.name
μ μΈμ€ν΄μ€ κ°μ²΄λ₯Ό μμ±νλ©΄μ μ€μ ν μμ±κ° 'sujin'
μ΄ λλ€.
βοΈ μΈμ€ν΄μ€
μΈμ€ν΄μ€λ?
μΈμ€ν΄μ€
λ ν΄λμ€μμ μ μλ μ 보λ€μ κ°μ Έμ μ΄μ©νλ κ°μ²΄μ΄λ€.
μΈμ€ν΄μ€λ μμ±ν λ new
ν€μλλ₯Ό μ΄μ©νλ€.
let myself = new Introduce('subin', 28, 'apeach');
Introduce
λΌλ ν΄λμ€λ₯Ό λ§λ€μλ€κ³ κ°μ νκ³ , myself
λΌλ μΈμ€ν΄μ€ κ°μ²΄λ₯Ό λ§λ€κ³ μ νλ€λ©΄ Introduce
ν΄λμ€ λͺ
μμ new
λΌλ ν€μλλ₯Ό λΆμ¬ let myself = new Introduce();
μ ννλ‘ μΈμ€ν΄μ€λ₯Ό λ§λ€ μ μλ€.
μμ±μ λ©μλμ μ μλ μμ±μ΄ μ‘΄μ¬νλ€λ©΄ μΈμ€ν΄μ€λ₯Ό μμ±ν λ μμ± μ 보λ₯Ό ν¨κ» μ λ ₯νλ€.
βοΈ ν΄λμ€μ ES5μ ES6 λ¬Έλ² μ°¨μ΄
μμμ ν΄λμ€λ₯Ό μ μνλλ° 2κ°μ§ λ°©λ²μ΄ μλ€κ³ νμλλ°, ν΄λμ€ λ΄μ λ©μλλ₯Ό μμ±ν λ λ μ°¨μ΄λ₯Ό λλλ¬μ§κ² 보μ¬μ€λ€.
- ES5 λ¬Έλ²
function Introduce(name, age, favorite) {
this.name = name;
this.age = age;
this.favorite = favorite;
}
Introduce.prototype.study = function() {
// 곡λΆνλ μκ°μ μλ €μ£Όλ μ½λ
}
Introduce.prototype.game = function() {
// κ²μνλ μκ°μ μλ €μ£Όλ μ½λ
}
Introduce.prototype.sleep = function() {
// μ μλ μκ°μ μλ €μ£Όλ μ½λ
}
μμ μ½λμμ λ³Ό μ μλ―μ΄ ν¨μλ‘ μ μν Introduce
ν΄λμ€ λ΄μμλ μμ±μ λν μ΄κΈ°νλ§ ν΄μ£Όκ³ , κ·Έ μΈ λ©μλλ μ λΆ ν¨μ λ°κΉ₯μμ prototype
ν€μλλ₯Ό μ¬μ©ν΄ μ μν΄μ€λ€.
- ES6 λ¬Έλ²
class Introduce {
constructor(name, age, favorite) {
this.name = name;
this.age = age;
this.favorite = favorite;
}
study() {
// 곡λΆνλ μκ°μ μλ €μ£Όλ μ½λ
}
game() {
// κ²μνλ μκ°μ μλ €μ£Όλ μ½λ
}
sleep() {
// μ μλ μκ°μ μλ €μ£Όλ μ½λ
}
}
λ°λ©΄μ ES6 λ¬Έλ²μμλ Introduce
ν΄λμ€ λ΄μ constructor
λ©μλμ ν¨κ» λ¬Άμ΄μ λ€λ₯Έ λ©μλλ₯Ό μ μνλ λͺ¨μ΅μ λ³Ό μ μλ€.
'π Study > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] νλ‘ν νμ (1) | 2022.09.21 |
---|---|
[JS] κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° (1) | 2022.09.21 |
[JS] μμ μλ£νκ³Ό μ°Έμ‘° μλ£ν (0) | 2022.09.21 |
[JS] νμ (0) | 2022.09.21 |
[JS] JavaScript Koans (0) | 2022.09.08 |