Programing/JavaScript

자바스크립트 오브젝트 javaScript object

리커니 2015. 7. 19.
반응형

자바스크립트 오브젝트 javaScript object

 

- 자바스크립트 오브젝트(javaScript object)

우리는 이미 자바스크립트 변수가 데이터 값을 위한 컨테이너 라고 알고 있다.

아래의 코드는 간단한 값을 가진 변수할당 방법이다.

var volunteer = "adam";

 

오브젝트 역시 변수이다. 그러나 오브젝트는 많은 값을 담을 수 있다.

아래의 코드는 한 변수에 많은 값들을 할당한다.

var volunteer = {
    firstName:"adam",
    lastName:"lee",
    age:30,
    type:"java"
};

 

그 값은 이름:값의 쌍으로 쓰여진다. (이름과 값은 ':'으로 구분된다.)

자바스크립트 오브젝트는 이름이 있는 값들을 위한 컨테이너다.

 

- 오브젝트 속성(object Properties)

이 이름과 값의 쌍은(자바스크립트에서) 속성(Properties)이라 불린다.

 

예)

 

var volunteer = {
    firstName:"adam",
    lastName:"lee",
    age:30,
    type:"java"
};

 

위의 예에서 name, age, type은 속성(property)이고

"adam", "lee", 30, "java" 는 속성의 값(property value)이다.

 

그럼 속성 값을 추가 하고 싶다면?

volunteer.career = 3; 처럼 추가하면 된다. 그럼 아래와 같이 되는 것이다.

 

var volunteer = {
    firstName:"adam",
    lastName:"lee",
    age:30,
    type:"java",
    career:3
};
 

 

공간과 줄바꿈은 중요하지 않다. 위의 오브젝트는 아래와 같이 선언할 수도 있다.

 
var volunteer = {
    firstName:"adam",
    lastName:"lee",
    age:30,
    type:"java",
    career:3
};

 

- 오브젝트 속성에 접근(accessing object properties)

오브젝트 속성에 접근 하는 방법은 두가지가 있다.

1. objectName.propertyName

2. objectName["propertyName"]

 

예)

var volunteer = {
    firstName:"adam",
    lastName:"lee",
    age:30,
    type:"java",
    career:3
};

 

위와같은 오브젝트가 있을 때

document.write(volunteer.firstName + " " + volunteer["lastName"]);

의 결과는 "adam lee" 이다. 위와같이 오브젝트 속성에 접근할 수 있다.

 

- 오브젝트 메소드에 접근(accessing object methods)

오브젝트 속성에는 메소드를 사용할 수 있다.

아래 예에서 볼드 처리된 부분이 메소드이다.

 

예)

 
var volunteer = {
    firstName: "adam",
    lastName: "lee",
    age: 30,
    type: "java",
    career: 3,
    fullName: function(c){
        return this.firstName + " " + this.lastName;
    }
};

 

이 메소드에 접근 하는 방법은

objectName.methodName() 이다.

 

예)

 
document.write(volunteer.fullName());

 

결과값은 "adam lee"

 

만약 괄호를 쓰지 않는다면 function이 return 된다.

function(c){ return this.firstName + " " + this.lastName;}

 

- string, number, boolean을 오브젝트로 선언하지 마라.

자바스크립트 변수가 "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

 

string, number, boolean 타입으로 오브젝트를 선언하면

코드를 복잡스럽게 만들고, 실행속도를 느려지게 한다.

 

반응형

댓글

💲 추천 글