숫자, 문자열, 부울, 널 및 정의되지 않은 것을 제외한 JavaScript에서 다른 모든 값은 객체입니다. 객체는 리터럴을 통해 직접 선언하거나 새 연산자를 통해 새로 생성 될 수 있습니다. Java 언어와 달리 JavaScript 객체의 속성은 동적으로 추가되거나 삭제 될 수 있습니다. 동시에 객체의 속성도 빈 줄이 될 수 있습니다.
코드 사본은 다음과 같습니다.
// 객체의 속성을 동적으로 추가/삭제할 수 있습니다
var o = {x : 1, y : 2};
console.log (o); // 객체 {x = 1, y = 2}
Oy 삭제;
oz = 3;
console.log (o); // 객체 {x = 1, z = 3}
// 빈 문자열은 객체 속성으로 허용됩니다
var o2 = { "": 88, "p": 99};
Console.log (O2); // 객체 {= 88, p = 99}
// 생성자 함수의 경우 "새"작업이 객체를 반환합니다.
기능 컴퓨터 (x, y) {
this.x = x;
this.y = y;
}
var c = 새로운 컴퓨터 (126, 163);
console.log (c); // 컴퓨터 {x = 126, y = 163}
var c2 = 새 컴퓨터 (126); // 매개 변수 값이 "정의되지 않은"것입니다.
console.log (c2); // computer {x = 126, y = 정의되지 않은}
CZ = 66;
console.log (c); // 컴퓨터 {x = 126, y = 163, z = 66}
cy 삭제;
console.log (c); // computer {x = 126, z = 66}
작동하는 기능이 클래스 생성자가 아니라 새 연산자를 사용하여 새 개체를 만들 때 일반적인 기능이라면 JavaScript는 기능을 실행 한 후 빈 개체를 반환합니다.
코드 사본은 다음과 같습니다.
// 순수한 함수의 경우 "새"작동은 빈 객체를 반환합니다.
함수 compute (x) {
Console.log ( "Execute Compute");
x*2를 반환합니다.
}
var a = new Compute ();
console.log (a); // compute {}
객체 속성
JavaScript의 객체에는 다음과 같은 3 가지 속성이 있습니다.
1. 프로토 타입. 객체의 프로토 타입 객체를 가리키는 참조. 프로토 타입 객체의 속성은 객체에 의해 상속 될 수 있습니다.
2. 클래스. 객체의 클래스 이름을 나타내는 문자열.
3. extensible. 부울 값, 객체에 속성의 동적 추가가 허용되는지 여부를 나타냅니다. 이 속성은 ECMAScript 5에서만 유효합니다.
속성 속성
객체의 속성에는 3 가지 속성이 있습니다.
1. 쓰기 가능합니다. 이 속성은 쓰기 가능합니까?
2. 내장 가능. for/in 문을 사용할 때 속성이 열거됩니까?
3. 구성 가능. 부동산의 속성을 수정할 수 있는지 여부와 부동산을 삭제할 수 있는지 여부.