javascript, jQuery & Node.js

생성자, 생성자함수, constructor 여러 객체를 하나로 사용하기 객체 1개로 재사용 - 객체지향 자바스크립트 04

yy_dd2 2022. 4. 25. 07:15
반응형
여러개의 객체를 만드는데 추가나 수정을 할때 수작업을 해야한다.... 그래서 수작업을 없애야 함

 

// 여러개의 객체를 만드는데 추가나 수정을 할때 수작업을 해야한다.... 그래서 수작업을 없애야 함
var kim = {
    name:'kim',
    first:10,
    second:20,
    third:30,
    sum:function(){
        return this.first+this.second+this.third;
        // return kim.first+kim.second; 으로 사용해도 되지만 만약 kim을 변경한다면 함수의 kim 도 변경해야 하기 떄문에 this를 사용 하는 것이 좋다.
    }
}
var lee = {
    name:'lee',
    first:10,
    second:10,
    third:30,
    sum:function(){
        return this.first+this.second+this.third;
        // return kim.first+kim.second; 으로 사용해도 되지만 만약 kim을 변경한다면 함수의 kim 도 변경해야 하기 떄문에 this를 사용 하는 것이 좋다.
    }
}
// sum:function(f, s){ return f+s;  }
// console.log("kim.sum()", kim.sum());
// 이미 키안에 값들이 입력이 되어있는데 반복적으로 함수안에 값을 대입해줘야하는 번거로움이 있다
console.log("kim.sum()", kim.sum());
console.log("lee.sum()", lee.sum());


// 시간 Date()
var d1 = new Date('2022-4-24');
console.log('d1.getFullYear()', d1.getFullYear());
console.log('d1.getMonth()', d1.getMonth());

console.log('Date',Date);

// 객체를 함수로 만들기
function Person(){
    this.name='kim',
    this.first=10,
    this.second=20,
    this.third=30,
    this.sum=function(){
        return this.first+this.second+this.third;
    }
}

console.log('Person()',Person());
// 생성자 함수
// constructor : new를 붙이면 객체를 생성하는 생성자가 된다
console.log('new Person()',new Person());

 

 

// 객체를 함수로 만들기
function Person(name,first,second,third){
    this.name=name;
    this.first=first;
    this.second=second;
    this.third=third;
    this.sum=function(){
        return this.first+this.second+this.third;
    }
}
console.log('Person()',Person());
// 생성자 함수
// constructor : new를 붙이면 객체를 생성하는 생성자가 된다
console.log('new Person()',new Person());

// 여러개의 객체를 만드는데 추가나 수정을 할때 수작업을 해야한다.... 그래서 수작업을 없애야 함
var kim = new Person('kim', 10, 20, 30);
var lee = new Person('lee', 10, 10, 10);
console.log("kim.sum()", kim.sum());
console.log("lee.sum()", lee.sum());

// constructor function을 만들면 좋은 점
// 1.
// 여러개의 객체를 만드는데 추가나 수정을 할때 수작업을 해야한다.... 그래서 수작업을 없애야 함
var kim = {
    name:'kim',
    first:10,
    second:20,
    third:30,
    sum:function(){
        return this.first+this.second+this.third;
        // return kim.first+kim.second; 으로 사용해도 되지만 만약 kim을 변경한다면 함수의 kim 도 변경해야 하기 떄문에 this를 사용 하는 것이 좋다.
    }
}
// 이렇게 수작업을 만들게 되는데
// 이 과정을 객체를 함수로 만들어 한번에 재사용이 가능하도록 변경했다.
반응형