검색엔진을 뒤지면서 보다가 너무나 깔끔하게 정리된
자바스크립트가 있기에 퍼옴. GENERAL 님의 정리 감사합니다.
댓글은 아래 링크에 달아주시기 바랍니다. 저도 고맙게 생각하는지라.^^;;
링크 : http://blog.naver.com/minis24/80094251902
* 자바스크립트를 공부하면서 노트에 정리해 놓은 내용을 보기 편하고, 효율적으로 검색하기 위해
블로그에 올리고 있습니다.
* 괜찮게 생각했던 내용과 메서드나,프로퍼티등의 인덱스가 있었으면 해서 정리한 거라서
아주 기초적인 내용은 없을지도 모르겠네요. ^^
* 오늘은 자바스크립트 객체와 관련된 내용입니다.
자바스크립트 객체에 대하여 알아봅시다.
* 초기화 하는 방법 두가지
1. 객체의 리터럴 (값)
var empty = {}; // 빈객체
var point = {x : 0 , y : 0}; //point.x = 0 , point.y = 0
var human = { "name" : "Homer",
"age" : 34 ,
"married" : true};
// 프로퍼티는 식별자나 "문자열" 이 올수 있다.
// 객체의 리터럴은 자바스크립트 표현식으로서, 평가될때 마다 새로운 객체를
// 생성하고 초기화 시킨다.
2. new 연산자 이용
var a = new Array() // 빈배열 생성
var o = new Object() // 빈객체 생성
// var o = {}
* 프로퍼티의 삭제
- delete 연산자 사용
실제로 객체에서 프로퍼티를 완전히 제거한다.
* 연관 배열로서의 객체
- 배열에서 사용되는 [] 연산자를 사용해도 객체의 프로퍼티에 접근 할 수 있다.
즉 , object.property 와 object["property"] 는 같다.
- 이런 형태로 객체를 사용할 때 연관배열이라고 한다.
※ [] 연산자안의 프로퍼티가 문자열 형태이기 때문에 런타임시에 동적으로 컨트롤 할 수 있다.
* 객체의 공통 메서드 및 프로퍼티
- 모든 객체는 Object 클래스를 상속하며, 각자의 고유한 프로퍼티와 메서드가 있으며,
Object 클래스에서 상속 받은 공통의 메서드와 프로퍼티가 있다.
1. constructor 프로퍼티
# 모든 객체는 생성자 함수를 가치키는 constructor 프로퍼티를 가지고 있다.
ex ) Date() 생성자로 생성된 d 객체는 d.constructor 프로퍼티가 있다.
d.constructor 은 Date 를 가리킨다.
var d = new Date() ;
d.constructor == Date ; // true
# instanceof 연산자는 constructor 프로퍼티 값을 사용한다.
d.constructor == Date ; //true
d instanceof Date ; //true
2. valueOf() 메서드
# 자바스크립트가 객체를 문자열이 아니라 숫자 같은 다른 기본타입으로 변환하려 할때
호출된다.
# Object 클래스가 기본제공하는 valueOf() 는 이런 변환을 수행하지 않는다.
각 객체의 클래스에서 오버라이드 하여 사용한다.
# 몇몇 내장 객체는 자신만의 valueOf()메서드를 정의하고 있다.
ex) Date.valueOf();
3. toString() 메서드
# 메서드를 호출한 객체의 값을 어떠한 방식으로든 표현하는 문자열을 만들어 리턴한다.
# 기본 제공하는 toString() 메서드는 "[Object object]"
4.hasOwnProperty() 메서드
# 프로퍼티의 이름을 담는 한개의 문자열 인자를 받는다 객체가 이 프로퍼티를 소유하고
있는지 검사
※ 프로퍼티가 지역적으로 정의되어있으면 true 리턴
※ 상속받은 프로퍼티 이거나, 존재하지 않으면 false 리턴
var o = {} ;
o.hasOwnProperty("undef"); // false(존재하지 않는 프로퍼티)
o.hasOwnProperty("toString"); // false(상속 받은 프로퍼티)
Math.hasOwnProperty("cos"); // true
5. isPrototypeOf() 메서드
# 이 메서드의 객체가 전달인자로 주어진 객체의 프로토 타입 객체이면 true 리턴
그렇지 않으면 false 리턴
var o = {} ;
Object.prototype.isPrototypeOf(o) // true
// o.constructor == Object ; 이값이 true 이고,
// o의 클래스는 Object 이다 new Object() == {}
Function.prototype.isPrototypeOf(Object) //true
// Object.prototype == Function (외우세요)
'Development > Javascript' 카테고리의 다른 글
[펌] 자바스크립트 정리. 4 - 자바스크립트 연산자 (0) | 2013.01.21 |
---|---|
[펌] 자바스크립트 정리. 3 - 자바스크립트 함수 (0) | 2013.01.21 |
[펌] 자바스크립트 정리. 1 - 자바스크립트 변수 (0) | 2013.01.21 |
JavaScript 난독화 (0) | 2012.06.26 |
자바스크립트 파싱 지연 - 구글 페이지 스피드 (0) | 2012.01.05 |
댓글