Object构造函数有很多方法,例如Object.assign()和Object.create(),但是为什么我不能从Object实例访问这些方法?
var test = new Object();
//this will return error
test.create();
答案 0 :(得分:0)
这是因为create
,assign
和许多其他方法都是静态方法。静态方法属于该类,因此您不能从该类的实例调用它们。 Here you can find more info about static methods in js
class Tripple {
static tripple(n) {
n = n | 1;
return n * 3;
}
}
class BiggerTripple extends Tripple {
static tripple(n) {
return super.tripple(n) * super.tripple(n);
}
}
console.log(Tripple.tripple());
console.log(Tripple.tripple(6));
console.log(BiggerTripple.tripple(3));
var tp = new Tripple();
console.log(tp.tripple()); //Logs 'tp.tripple is not a function'
答案 1 :(得分:0)
您已经用新变量创建了一个对象。您可以尝试使用create关键字来创建新对象
var testObj = Object.create(null);
typeof(testObj) // Object
console.log(testObj) // Object with prototype object as null
// Set property to object
testObj.name = "Stackoverflow";
console.log(testObj)