일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- reactor core
- 웹앱
- 웹 커리큘럼
- spring reactive
- reactor
- 공유기 서버
- Spring Framework
- ipTIME
- 서버운영
- 웹 스터디
- reactive
- Spring Batch
- Today
- Total
Hello World
7장 객체와 배열 본문
7장. 객체와 배열
1. 객체 : 객체는 복합 타입이다.
2. 객체 프로퍼티 열거하기
function DisplayPropertyNames(obj){
var names = “”;
for(var name in obj) names += name + ‘\n’;
alert(names);
}
3. 프로퍼티 존재 확인하기
if( “x” in o ) o.x = 1; // 객체 o에 프로퍼티 “x”가 있으면 1을 저장한다.
if(o.x !== undefined) o.x = 1; // x가 존재하고 값이 undefined가 아니라면 1을 저장
// 객체에 없는 프로퍼티에 접근하려 하면 undefined값 반환
4. 연관 배열로서의 객체
- object.property와 object[“property”] 는 완전히 동일한 값이다.
- 연관배열은 동적으로 임의의 값과 임의의 문자열을 연관지어 저장할 수 있는 자료구조
5. constructor 프로퍼티
- 자바스크립트에서 모든 객체는 객체를 초기화하는데 사용되는 생성자 함수인
constructor 프로퍼티를 지니고 있다.
ex)
var d = new Date();
d.constructor == Date;
- 생성자 함수는 객체의 범주. 즉, 클래스를 정의하므로,
constructor 프로퍼티를 객체의 타입을 판단하는데 사용될 수 있다.
ex)
if ((typeof o == “object”) && (o.constructor == Date))
- instanceof 연산자는 constructor 프로퍼티의 값을 사용한다.
ex)
if ((typeof o == “object”) && (o instanceof Date))
6. toString() 메서드
- 별도의 전달인자 없이 호출.
- 메서드를 호출한 객체의 값을 어떠한 방식으로든 표현하는 문자열을 만들어 결과 반환
7. valueOf() 메소드
- 자바스크립트가 객체를 문자열이 아니라 숫자 같은 다른 기본 타입으로
변환하려 할 때 호출
- 객체가 기본 타입 값을 필요로 하는 문맥 안에서 사용될 때,
자바스크립트는 valueOf() 메서드를 자동 호출
8. hasOwnProperty() 메서드
- 프로퍼티의 이름을 담는 한개의 문자열 전달인자를 받아서, 객체가
이 프로퍼티를 소유하고 있는지 검사.
- 프로퍼티가 상속받은 것이 아니고 객체 안에 지역적으로 정의되어 존재한다면 true,
그렇지 않으면 false 를 리턴
ex)
var o = {};
o.hasOwnProperty(“undef”); // false : 프로퍼티가 정의되지 않음.
o.hasOwnProperty(“toString”); // false : toString은 상속받은 프로퍼티다.
Math.hasOwnProperty(“cos”); // true : Math 객체에 cos 프로퍼티가 있다.
- 프로퍼티의 이름을 담은 문자열 전달인자를 하나 받음
- 이 이름의 프로퍼티를 객체가 상속받지 않고 직접 지역적으로 정의했는지 검사.
- 이 프로퍼티가 for/in 루프를 사용하여 열거될 수 있는 것인지 검사.
- 이 모든 조건을 충족하면 true, 아니면 false 를 리턴.
ex)
var o = { x : 1 };
o.propertyIsEnumerable(“x”); // true : 프로퍼티가 존재하고 열거할 수 있다.
o.propertyIsEnumerable(“y”); // false : 프로퍼티가 존재 하지 않는다.
o.propertyIsEnumerable(“valueOf”); // false : valueOf 는 상속받은 프로퍼티
10. 배열
- 순서 있는 값들의 집합
- 자바스크립트는 타입이 고정되지 않은 언어기 떄문에 같은 배열의 각 원소는
서로 다른 임의의 타입을 가질 수 있다.
- 배열은 다른 배을을 원소로 가질 수도 있기 때문에,
배열의 배열과 같은 자료구조를 생성 가능.
- 임의 개수의 원소를 가질 수 있으며 원소의 개수는 언제든 변경 할 수 있다.
- 배열의 인덱스는 연속적이지 않아도 된다.
'Javascript > Book Study' 카테고리의 다른 글
9장 클래스, 생성자, 프로토타입 (0) | 2012.09.03 |
---|---|
8장 함수 (0) | 2012.08.29 |
6장 문장 (0) | 2012.08.14 |
5장 표현식과 연산자 (0) | 2012.08.09 |
4장 변수 (0) | 2012.08.09 |