JavaScript 객체(Objects)
JavaScript 에있는 거의 모든 객체가 될 수 있습니다 : Strings, Functions, Arrays, Dates....
객체는 속성(properties) 및 메서드(methods)를 갖는 단지 데이터입니다.
속성(Properties) and 메서드(Methods)
속성들(Properties)은 객체와 관련된 값들(values) 입니다.
메서드들(Methods)는 객체가 수행할 작업들(actions) 입니다.
실제 객체, 속성(property) 과 메서드(method)
실제 세계에서, 자동차(car)는 객체(object)이다.
자동차는 무게와 색 같은 속성(property)과 시동과 멈춤 같은 메서드(method)들을 갖는다.
Object | Properties | Methods |
---|---|---|
car.name = Fiat car.model = 500 car.weight = 850kg car.color = white |
car.start() car.drive() car.brake() car.stop() |
모든 자동차는 같은 속성(property)을 가지고 있지만, 속성 값은 자동차 마다 다릅니다.
모든 자동차는 같은 메서드(method)을 가지고 있지만, 그들은 다른 시간에 실행됩니다.
JavaScript 객체:
우리는 이미 JavaScript 변수가 데이타 값의 용기임을 배웠다.
다음 코드는 car 라는 변수에 단순한 값(Fiat)을 할당한다.
var car = "Fiat";
Try it Yourself » 객체 또한 변수다. 하지만 객체는 많은 값들을 담을 수 있다.
다음 코드는 car 라는 변수에 많은 값들(Fiat, 500, white)을 할당한다.
var car = {type:"Fiat",
model:"500", color:"white"};
Try it Yourself » 값들은 name:value 쌍으로 쓰여진다.
객체 속성(object property)
(JavaScript 객체에서) name:value 쌍을 속성(property)이라 부른다.
var person = {firstName:"John", lastName:"Doe",
age:50, eyeColor:"blue"};
Property | Property Value |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
객체 메서드(object method)
메서드(method)는 객체에 실행될 수 있는 행동들이다.
메서드(method)는 함수 정의로 속성(property)에 저장된다.Property | Property Value |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
객체 선언
JavaScript 객체는 객체 문장으로 선언(생성)한다.
빈 공백과 불 바꿈은 중요하지 않으며, 객체 선언은 여러 줄로 확장해도 된다:
Example
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
Try it Yourself »
객체 속성에 접근(Accessing)
객체의 속성에는 두 가지 방법으로 접근할 수 있다.
objectName.propertyName
또는
objectName["propertyName"]
객체 메서드에 접근
객체의 메서드는 다음과 같이 접급한다.
objectName.methodName()
만약에 () 없이 fullName 속성에 접근하면, 함수 정의가 반환될 것이다.
String, Number, 와 Boolean 을 객체로 선언하지 마시오!
JavaScript 변수가 키워드 "new"로 선언되면, 변수는 객체로 생성된다:
var x = new
String(); // Declares x as a String object
var y = new
Number(); // Declares y as a Number object
var z = new
Boolean(); //
Declares z as a Boolean object