[JavaScript] μμ±μ ν¨μ νμ©λ²μ λν΄ μμ보μ!
π‘λͺ©ν
JavaScriptμμ μμ±μ ν¨μμ νμ©λ²μ λν΄ μ΄ν΄νλ€.
μμ±μ ν¨μ μ μ
Java, Python λ± μ¬λ¬ νλ‘κ·Έλλ° μΈμ΄μμ μ¬μ©νλ ν΄λμ€(Class)κ° JavaScriptμμ κ³§ μμ±μ(Constructor)μ λλ€.
JavaScriptμμλ ν¨μλͺ μ 첫 κΈμλ₯Ό λλ¬Έμλ‘ νμνμ¬ μμ±μλ₯Ό μ μν©λλ€.
μΌλ°μ μΈ ν΄λμ€μ λ§μ°¬κ°μ§λ‘ μμ±μ ν¨μλ νλ, ν¨μλ₯Ό ν¬ν¨ν©λλ€.
μμ μ½λ
μλ μμ μ½λμ ν¨κ» μ΄ν΄λ³΄κ² μ΅λλ€.
// ν¨μλͺ
μ 첫 κΈμκ° λλ¬ΈμμΈ κ²½μ° = μμ±μ ν¨μ
function ConstructorExample(){
// ----νλ μμ----
this.name = 'Tony';
this.age = 20; // λ©€λ² λ³μ(νλ)
// ----νλ λ----
// ----λ©€λ² ν¨μ μμ---
this.functionA = function(){
console.log("function A");
}
this.functionB = () =>{
console.log("function B");
}
// ----λ©€λ² ν¨μ λ----
}
νλ(field)μμλ λ©€λ² λ³μ μ μλ₯Ό μν΄ thisλ₯Ό νμ©νμ¬ λ³μλͺ μμ μ λ ₯ν΄ μ€λλ€.
thisλ κ°μ²΄ μκΈ° μμ μ κ°λ¦¬ν€λ λ¬Έλ²μ λλ€.
λ©€λ² ν¨μ μμ ν¨μλͺ μμ thisλ₯Ό λΆμ¬ μ μν©λλ€.
μμ±μ ν¨μ νΈμΆμ μλͺ»λ μμ
// μμ±μ ν¨μλ ν¨μ νΈμΆνλ―μ΄ μ¬μ©νμ§ μμ
//ConstructorExample();
μμ±μ ν¨μλ μΌλ°μ μΈ ν¨μλ₯Ό νΈμΆνλ―μ΄ μ¬μ©νμ§ μλλ€λ μ μ μ λ ν΄ μ£ΌμΈμ.
κ°μ²΄ μμ±
// κ°μ²΄ μμ±
let obj = new ConstructorExample();
μμ±μ ν¨μλ₯Ό νμ©νμ¬ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±ν΄ μ€λλ€.
λ©€λ² λ³μ νΈμΆ
// λ©€λ² λ³μ νΈμΆ
console.log("μ΄λ¦: ", obj.name);
console.log("λμ΄: ", obj.age);
λ©€λ² λ³μλ μμ±ν κ°μ²΄λͺ λ€μ dot(.)μ λΆμ¬μ£Όκ³ λ³μλͺ μ μ λ ₯νλ©΄ νΈμΆν μ μμ΅λλ€.
μ€νκ²°κ³Ό
μ΄λ¦: Tony
λμ΄: 20
λ©€λ² ν¨μ νΈμΆ
// λ©€λ² ν¨μ νΈμΆ
obj.functionA();
obj.functionB();
λ©€λ² ν¨μ μμ μμ±ν κ°μ²΄λͺ λ€μ dot(.)μ λΆμ¬μ£Όκ³ ν¨μλͺ μ μ λ ₯νλ©΄ νΈμΆν μ μμ΅λλ€.
μ€νκ²°κ³Ό
function A
function B
μ€λμ JavaScriptμμ μμ±μ ν¨μμ νμ©λ²μ λν΄ μμλ΄€μ΅λλ€.
ν¬μ€ν λ΄μ©μ μ€λ₯κ° μλ€λ©΄ μλμ λκΈ λ¨κ²¨μ£ΌμΈμ.
κ·ΈλΌ μ€λλ μ¦κ²κ³ λ©μ§ ν루 λ§λμκΈΈ λ°λλλ€.
κ³ λ§μ΅λλ€ :)