JavaScript에서는 숫자, 문자열, 부울, Null 및 정의되지 않음을 제외한 다른 모든 값은 객체입니다. 객체는 리터럴을 통해 직접 선언되거나 new 연산자를 통해 생성될 수 있습니다. Java 언어와 달리 JavaScript 개체의 속성은 동시에 동적으로 추가되거나 삭제될 수 있으며, 개체의 속성은 빈 문자열일 수도 있습니다.
//객체 속성으로 빈 문자열이 허용됩니다
var o2 = {"":88, "p":99};
console.log(o2);//객체 { =88, p=99}
//생성자 함수의 경우 "new" 연산은 객체를 반환합니다.
기능 컴퓨터(x, y) {
this.x = x;
this.y = y;
}
var c = 새 컴퓨터(126, 163);
console.log(c);//컴퓨터 {x=126, y=163}
var c2 = new Computer(126);//누락된 매개변수 값은 "정의되지 않음"이 됩니다
console.log(c2);//컴퓨터 {x=126, y=정의되지 않음}
cz = 66;
console.log(c);//컴퓨터 {x=126, y=163, z=66}
c.y 삭제;
console.log(c);//컴퓨터 {x=126, z=66}
new 연산자를 사용하여 새 객체를 생성할 때 사용된 함수가 클래스 생성자가 아니라 일반 함수인 경우 JavaScript는 함수 실행 후 빈 객체를 반환합니다.
객체 속성
JavaScript의 객체에는 다음과 같은 3가지 속성이 있습니다.
1.프로토타입. Object의 프로토타입 객체를 가리키는 참조입니다. 프로토타입 객체의 속성은 객체에 의해 상속될 수 있습니다.
2.클래스. Object의 클래스 이름을 나타내는 문자열입니다.
3. 확장 가능. 객체에 속성의 동적 추가가 허용되는지 여부를 나타내는 부울 값입니다. 이 속성은 ECMAScript 5에서만 유효합니다.
속성 속성
객체의 속성에는 3가지 속성도 있습니다.
1.쓰기 가능. 속성이 쓰기 가능한지 여부입니다.
2. 열거 가능. for/in 문을 사용할 때 속성이 열거되는지 여부입니다.
3. 구성 가능. 이 속성의 속성을 수정할 수 있는지 여부와 속성을 삭제할 수 있는지 여부입니다.