반응형

흔히 객체 하면 다른 언어를 생각할 때 클래스를 떠오르기 쉽습니다.

하지만 javascript에서는 var 타입 이외에는 모두 객체 입니다. (js에서는 class 선언 없습니다.)

기본적인 예시들을 보고 JS의 객체 개념을 익히도록 하겠습니다.


객체 리터럴을 이용한 객체 생성 개념

var person = { name: "jun", age: "29"}

{...}을 객체 리터럴이라 하며 변수 people의 대입 하는 작업입니다.

내부의 데이터 각각을 하나의 프로퍼티(이름/키) 라고 부릅니다.

그럼 이제 하나의 객체가 선언 되었습니다.


person.hobby = "cook";

console.log(person.hobby);

delete person.hobby;


프로퍼티를 자유롭게 추가하고 지울 수 있습니다.


var person2 = person;

person2는 person 객체를 참조하게 됩니다.


함수 리터럴

함수도 객체리터럴과 같이 함수 리터럴로 정의를 할 수 있습니다.


var add_func = function(param) {return x+y}

위와 같은 선언어를 하면 add_func를 함수로 사용 할 수 있습니다.



객체 메서드

var cal = {

value: {x:3, y:5}

add: function() {

return x+y

}

}


cal.add()

객체 안에 메서드를 선언하고 이와 깉이 호출 할 수도 있습니다.

또한 객체 메서드를 추가 할 수도 있습니다.

cal.change_value= function(x, y) {

this.value.x = x;

this.value.y = y;

}


생성자로 객체 생성 개념

function Person(name, age) {

this.name = name;

this.age = age;

}


var person = new Person("jun", "29");

console.log(person);

자바스크립트는 생성자인 함수를 이용하여 new 연산자로 객체를 생성합니다.

(클래스 개념은 없으나 최근에 JS 문법은 다시 한번 살펴 봐야겠습니다.)


위의 내용은 다른 언어처럼 클래스 선언 없이 객체를 만들기 때문에 조금 생소 할 수 있습니다.

계속 보고 익숙 해지도록 해야겠습니다.

반응형

+ Recent posts