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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。