Symbol.species 屬性指定構造函數用於創建派生對象的 function-valued 屬性。有了這個,我們可以創建一個派生對象。
用法:
[Symbol.species]
屬性:物種訪問器屬性可用於允許子類覆蓋對象的默認構造函數。
下麵的示例說明了 JavaScript 中的 Symbol.species 屬性。
範例1:
Javascript
<script>
// Created geek class that is extended by Array
class geek extends Array {
static get [Symbol.species]() {
return Array;
}
}
// Values assigned to geek
const a = new geek(1, 2, 3, 4);
//mapped values to geek object
const mapped = a.map((x) => 2);
console.log(mapped instanceof geek);
// output:false
console.log(mapped instanceof geek);
// output:false
</script>
輸出:
false false
範例2:
Javascript
<script>
class geek extends Array {
// Overwrite species to the parent Array constructor
static get [Symbol.species]() {
return Array;
}
}
let a = new geek(1, 2, 3, 5, 7, 8);
let mapped = a.map((x) => x);
console.log(mapped instanceof geek); // false
console.log(mapped instanceof Array); // true
</script>
輸出:
false true
相關用法
- Javascript Math.LOG10E用法及代碼示例
- Javascript Math.LOG2E用法及代碼示例
- Javascript Math.LN10用法及代碼示例
- Javascript Math.SQRT1_2用法及代碼示例
- Javascript Math.PI用法及代碼示例
- Javascript Math.SQRT2用法及代碼示例
注:本文由純淨天空篩選整理自sravankumar8128大神的英文原創作品 JavaScript Symbol.species Property。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。