객체 생성하기(자바 vs 자바스크립트), 객체 생성하기 - Object()생성자 함수 이용, 객체 리터럴 방식으로 객체를 생성

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

 

 

객체 생성하기(자바 vs 자바스크립트)

구분

생성방법

자바

(Java)

클래스를 정의하고 클래스의 인스턴스를 생성하여 객체 생성합니다.

자바스크립트

(Javascript)

클래스 개념이 없습니다.

객체 리터럴이나 생성자 함수등 별도의 생성 방식이 존재합니다.

 

 

 

객체 생성하기

자바스크립트는 다른 객체지향 언어와 달리 객체의 설계도라 할 수 있는 클래스(Class) 없이 객체를 생성합니다.

 

·       Object()생성자 함수 이용

·       객체 리터럴 방식으로 객체를 생성

 

 

 

Object()생성자 함수 이용

//Object()메소드를 이용해서 foo라는 객체 생성

var foo = new Object();

 

//foo객체에 프로퍼티 생성

foo.name ='foo';

foo.age =33;

foo.gender='femaile';

 

//출력

document.write(typeof foo);

console.log(foo);

 

 

 

 

객체 리터럴 방식으로 객체를 생성

·       객체는 키와 값으로 이루어졌으며(key value의 쌍),

·       중괄호({ })로 객체를 생성하고,

·       중괄호안에서 "프로퍼티이름":"프로퍼티값" 형태로 속성을 지정합니다.

·       객체의 속성 값에 접근할 때는 키로 접근합니다.

·       중괄호 안에 아무것도 적지 않으면, 빈 객체가 생성됩니다.

·       만약 객체의 키로 식별자가 아닌 문자를 사용했을 때는 무조건 대괄호를 사용하여 접근합니다.

 

 

객체를 생성 형식

·       중괄호({ })로 객체를 생성합니다.

·       큰따옴표 혹은 작은따옴표로 감싼 속성이름과 속성값을 콜론(:)으로 연결한 쌍으로 표기합니다.

·       프로퍼티는 쉼표를 이용하여 구분합니다.

 

var member = {

    프로퍼티이름:'프로퍼티값',

    속성명:'속성값',

    속성이름:"속성값",

    key:'value'

       

};

 

 

 

 

 

구분

설명

객체

·       속성이름과 속성값의 쌍으로 이루어진 속성들을 포함하는 컨테이너

속성

·       이름(key)과 값(value)의 쌍으로 이루어져 객체라는 컨테이너에 담겨지는 데이터입니다.

·       객체에 포함할 수 있는 속성은 숫자, 문자열, 불린, null, undefined는 물론 배열, 함수, 객체 등 모든 형태의 자료형을 가질 수 있습니다.

속성명

·       빈 문자열을 포함하여 어떤 문자열이나 숫자도 가능

·       사용 가능한 식별자로 명명

·       예약어가 아닐 경우 속성이름을 감싸고 있는 따옴표를 생략 가능

속성값

·       객체를 포함하여 값을 나타내는 어떤 표현식도 가능

메서드

·       속성값이 함수인 속성

·       메서드는 함수이기 때문에 자료형의 값을 가지는 속성에 접근하는 것과 달리, 객체의 속성이름 뒤에 괄호를 열고 닫아 접근합니다.

 

 

 

var member = {

name : 'foo',

age : 20,

job : 'student'

};

 

 

 

객체에 메서드 지정

var member = {

name:'foo',

age:20,

job:'student'

eat:function(){

코드;

}

};

 

 

 

 

생성자 함수 이용하여 객체 생성

·       자바스크립트는 함수를 통해 객체 생성 할 수 있습니다.

·       생성자 함수는 객체를 생성하는 함수입니다.