ES5
Strict
"use strict";
Object 메서드
Object.create()
var a=Object.create(b)//b 대상을 a.proto에 추가하여 계승
세밀한 제어
var FantasticFour = Object.create(
marvelProto,
{
title: {
value: "Fantastic Four",
enumerable: true,
writable: false,
configurable: false
},
year: {
value: "1961",
enumerable: true,
writable: false,
configurable: false
}
}
);
console.log(
FantasticFour.title
+ " was first published by " +
FantasticFour.publisher
+ " in " +
FantasticFour.year
);
Object.preventExtensions() 및 Object.isExtensible()
//Let's see if we can add some more info to the object
if (Object.isExtensible(marvelProto)){
//true
marvelProto.flagshipCharater = "Spider-Man";
};
//Stop extensions
Object.preventExtensions(marvelProto);
//Adding an Editor in Chief field throws an error
marvelProto.editorInChief = "Axel Alonso";
>>>TypeError: Can't add property editorInChief, object is not extensible
Object.seal () 및 Object.isSealed()
Object.seal은 먼저 Object를 호출합니다.preventExtensions (), 새로운 특성을 추가하지 못하게 하고 모든 대상 특성의 configurable 로고를 false로 설정합니다.
//Can we delete configurable properties?
if (!Object.isSealed(marvelProto)){
//we can
delete marvelProto.flagshipCharacter;
};
//Seal the object
Object.seal(marvelProto);
//deleting the Editor in Chief field throws an error
delete marvelProto.editorInChief;
>>>Error: property "use strict";marvelProto.editorInChief is
non-configurable and can't be deleted
Object.freeze () 및 Object.isFrozen()
Object.freeze에서 Object를 호출합니다.seal () 는 대상의 설정을 멈추고 모든 대상 특성의 writeable 로고를false로 설정하여 완벽한 정적 대상을 제공합니다.
//Can we write writeable properties?
if (!Object.isFrozen(marvelProto)){
//we can
marvelProto.flagshipCharacter = "Iron Man";
};
//Seal the object
Object.freeze(marvelProto);
//Changing the Flagship Character throws an error
marvelProto.flagshipCharacter = "Wolverine";
>>>Error: "use strict";marvelProto.flagshipCharacter is read-only
Object.getPrototypeOf()
새로운 메서드 Object.getPrototypeOf()가 객체의 원형을 반환합니다.이 메서드의 값은 비표준 Object와 같습니다.proto 특성.
Object.keys() 및 Object.getOwnPropertyNames()
Object.keys () 는enumerable가true인 속성을 되돌려줍니다.Object.getOwnPropertyNames () 는 상술한 방법과 유사하지만,enumerable 로고가false로 설정된 특성도 포함됩니다.상속된 등록 정보는 무시됩니다.
//BUT... keys returns ONLY properties on object itself
//inherited properties are ignored
//launchComic (enumerable:false) is also skipped
console.log(Object.keys(marvelProto));
>>>["publisher", "founded", "founder", "headquarters"]
//getOwnPropertyNames also operates only on
//properties of the object itself, but it
//also includes properties that have the
//enumerable flag set to false
console.log(Object.getOwnPropertyNames(marvelProto);
>>>["launchComic", "founder", "founded", "headquarters", "publisher"]
getters와setters
Get과 set은 객체 특성을 함수에 바인딩합니다. 이 함수는 속성의 값에 액세스하거나 쓰기 위해 호출됩니다.Get은 매개변수를 적용하지 않습니다.set은 매개 변수(설정할 값)를 받아들인다.
var FantasticFour = Object.create(
marvelProto,
{
title : {
value : "Fantastic Four",
},
year : {
value : "1961",
}
}
);
//Use Object.defineProperty to set the getters and setters
//Alternatively, this could be set in the Object.create above
Object.defineProperty(FantasticFour, "bestIssue", {
get: function () { return fave; },
set: function (num) {
fave = "The best single issue of Fantastic Four is issue #" + num;
}
}
);
FantasticFour.bestIssue = 51;
console.log(FantasticFour.bestIssue);
>>>The best single issue of Fantastic Four is #51
Object.defineProperty()
Array 메서드
Array.forEach()
수조의 원소마다 한 번씩 실행하는 함수
var arr = [8, 10, 13, 10, 8, 1, 5];
function logger(element, index, array) {
console.log("The value of the element at index " + index + " is " + element);
}
arr.forEach(logger);
Array.map()
새 수조를 되돌려줍니다. 새 수조는 원시 수조의 모든 요소에서 하나의 함수 파라미터를 호출하여 생성합니다.
var arr = [8, 10, 13, 10, 8, 1, 5];
function square(num){
return num * num;
}
console.log(arr.map(square));
>>>[64, 100, 169, 100, 64, 1, 25]
Array.reduce () 및 Array.reduceRight()
var arr = [8, 10, 13, 10, 8, 1, 5];
console.log(arr.reduce(function(a, b){ return a + b; }));
>>>55
console.log(arr.reduce(function(a, b){ return a +" "+ b; }));
>>>8 10 13 10 8 1 5
console.log(arr.reduceRight(function(a, b){ return a + b; }));
>>>55
console.log(arr.reduceRight(function(a, b){ return a +" "+ b; }));
>>>5 1 8 10 13 10 8
Array.filter()
var arr = [8, 10, 13, 10, 8, 1, 5];
function odd(element, index, array) {
return (element%2);
}
console.log(arr.filter(odd));
>>>[13, 1, 5]
Array.every () 및 Array.some()
만약 그룹의 모든 요소가 제공된 함수로 이루어진 테스트를 통과한다면, Array.every()가 true로 돌아갑니다.만약 그룹의 모든 요소가 제공된 함수로 이루어진 테스트를 통과한다면, Array.some()가 true로 돌아갑니다.
var arr = [8, 10, 13, 10, 8, 1, 5];
function odd(element, index, array) {
return (element%2);
}
console.log(arr.every(odd));
>>>false
console.log([1,3,5].every(odd))
>>>true
console.log(arr.some(odd));
>>>true
console.log([2,4,6].some(odd))
>>>false
Array.indexOf() 및 Array.lastIndexOf()
var arr = [8, 10, 13, 10, 8, 1, 5];
console.log("lastIndexOF is " + arr.lastIndexOf(10));
>>>lastIndexOF is 3
console.log("indexOF is " + arr.indexOf(10));
>>>indexOF is 1
Others
JSON.parse() 및 JSON.stringify()
Date.now()
Function.prototype.bind()
link
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.