★ 06. 개체
세 가지 생 성 방식
대상 직접 량
var empty = {};
var abc = {
abcdef: "str", //
"abcdef": 123, //
"abc def": 123, //
'abc-def': true //
};
new
function Point(x, y) {
this.x = x;
this.y = y;
}
var p = new Point(1, 1);
// ,
new Object
new Date
Object.create()
Object.create()
.var o1 = Object.create({x : 1, y : 2}); // o1 ,o1 x y
var o2 = Object.create(null); // o2 ,o2
var o3 = Object.create(Object.prototype); // o3 ,o3 {} new Object()
function inherit(p) {
if (p === null) throw TypeError();
if (Object.create) return Object.create(p);
var t = typeof p;
if (t !== "object" && t !== "function") throw TypeError();
function f() {
}
f.prototype = p;
return new f();
}
inherit()
라 이브 러 리 함수 가 의도 치 않 게 수정 되 는 것 을 방지 하 는 역할 을 한다. var o = {x : "don't change this value"};
library_function(inherit(o)); // , o
서열 화 대상
JSON.stringify()
과 JSON.parse()
를 직렬 화 와 반 직렬 화 자 바스 크 립 트 대상 으로 제공 했다.JSON.stringify()
과 JSON.parse()
모두 두 번 째 선택 가능 한 매개 변 수 를 받 아들 일 수 있 습 니 다. 직렬 화 또는 반 직렬 화 된 속성 목록 을 전송 하여 사용자 정의 직렬 화 또는 반 직렬 화 작업 을 맞 출 수 있 습 니 다.true
, false
, null
직렬 화 와 반 직렬 화 를 할 수 있다.NaN
, Infinity
, -Infinity
직렬 화 결과 null
로 나 타 났 다.Data
대상 은 ISO 형식의 날짜 문자열 로 정렬 되 고 Data
대상 이 아 닌 문자열 로 정렬 됩 니 다.RegExp
대상, Error
대상 과 undefined
직렬 화 또는 반 직렬 화 할 수 없습니다.JSON.stringify()
직렬 화 대상 이 매 거 할 수 있 는 자체 속성 만 있 을 수 있 고 직렬 화 할 수 없 는 속성 은 생략 된다.계승 하 는 방법
Object
방법toString()
은 유용 한 정 보 를 많이 출력 하지 않 습 니 다.toString()
, 예 를 들 어 배열, 함수 와 toString()
대상 등 을 가진다.Data
방법toLocaleString()
은 toLocaleString()
만 호출 하고 해당 하 는 값 을 되 돌려 줍 니 다.toString()
대상 과 Data
대상 은 현지 화 수요 가 있어 모든 맞 춤 형 제작 을 했다.Number
은 배열 의 toLocaleString()
를 호출 하고 해당 하 는 값 을 되 돌려 주 는 것 이 아니 라 각 요소 의 toString()
를 호출 하여 해당 하 는 값 을 되 돌려 준다.toString()
방법toJSON()
방법 이 없 지만 정의 되면 toJSON()
호출 됩 니 다.JSON.stringify()
방법대상 의 세 가지 속성
원형 속성
valueOf()
를 이용 해 대상 의 원형 을 조회 할 수 있다.Object.getPrototypeOf()
을 사용 할 수 있다.클래스 속성
약술 하 다
Object.isPrototypeOf()
이 며, 대상 을 구분 할 수 없 는 클래스 는 내 장 된 대상 의 클래스 속성 과 다 릅 니 다 Object
되 돌아 오 는 문자열 의 8 번 째 부터 마지막 두 번 째 위치 사이 의 문 자 를 추출 하여 toString()
도구 함수 단순 예시
function classof(o) {
if (o === null) return "Null";
if (o === undefined) return "undefined";
return Object.prototype.toString.call(o).slice(8, -1);
}
classof(null) // "Null"
classof(1) // "Number"
classof("") // "String"
classof(false) // "Boolean"
classof({}) // "Object"
classof([]) // "Array"
classof(/./) // "RegExp"
classof(new Date()) // "Date"
classof(window) // "Window" (a client-side host object)
function f() { };
classof(new f()); // "Object"
확장 성
약술 하 다
classof()
: Object.preventExtensions()
을 사용 할 수 있다.Object.isExtensible()
: Object.seal()
사용 할 수 있다.Object.isSealed()
: Object.freeze()
사용 할 수 있다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.