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(){ 코드; } }; |
생성자 함수 이용하여 객체 생성
· 자바스크립트는 함수를 통해 객체 생성 할 수 있습니다.
· 생성자 함수는 객체를 생성하는 함수입니다.
'Development > JavaScript, jQuery, ...' 카테고리의 다른 글
DOM 활용 작업 (0) | 2017.06.27 |
---|---|
문서객체모델(DOM - Document Object Model), 문서 객체 (DOM Object), DOM 구조도 (0) | 2017.06.27 |
자바스크립트의 객체(object), 객체(Object), 자바스크립트 객체 자료형 도식도 (0) | 2017.06.26 |
배열과 객체의 유사점/차이점, 유사 배열 객체(array-like objects), 객체와 배열의 프로토타입 도식도, 객체에서 push()한 경우 (0) | 2017.06.26 |
정렬 - 문자열 정렬, 숫자 배열의 정렬, 역순정렬 방법 2가지-sort() 이용하여 역순정렬, reverse() 이용하여 역순정렬 (0) | 2017.06.26 |