객체
자바스크립트는 함수형 언어이며 prototype-based language이다.
var person = {}
person.name = 'jisun'; // property(속성)
person.introduce = function() { // method(메소드)
return 'My name is '+this.name;
}
document.write(person.introduce());
객체를 정의할 때 값을 한번에 셋팅하도록 바꿔보자.
var person = {
'name': 'jisun',
'introduce': function() {
return 'My name is '+this.name;
}
}
그런데 만약 여러 사람의 정보를 담으려면 이렇게 중복이 발생한다.
var person1 = {
'name': 'jisun',
'introduce': function() {
return 'My name is '+this.name;
}
}
var person2 = {
'name': 'jihye',
'introduce': function() {
return 'My name is '+this.name;
}
}
이를 해결하기 위해 생성자와 new를 사용한다.
생성자와 new
function Person(name) {
this.name = name;
this.introduce = function() {
return 'My name is '+this.name;
}
}
var p1 = new Person('jisun'); // 객체 생성자
var p2 = new Person('jihye');
document.write(p1.introduce()+'<br />');
document.write(p2.introduce());
new 키워드와 함수를 통해 즉, 생성자를 통해 객체를 만들고 코드의 재사용성을 높이게 되었다.
* 자바에서 생성자는 클래스 안에 속해있으나, 자바스크립트에서 생성자는 어디에도 속해있지 않다.
'Javascript > 기초공부' 카테고리의 다른 글
[Javascript: 상속(Inheritance)] 상속의 사용법 / prototype (0) | 2020.03.19 |
---|---|
[Javascript: this] 전역객체 / 함수, 메소드, 생성자와 this / apply와 call / apply와 this (0) | 2020.03.18 |
[Javascript: 객체 지향 프로그래밍(OOP)] 추상화 / 부품화 / 은닉화 / 캡슐화 / 인터페이스 (0) | 2020.03.18 |
[Javascript: apply] 함수의 호출 / apply 응용 (0) | 2020.03.17 |
[Javascript: Arguments] Arguments란? / function length (0) | 2020.03.17 |