Если у вас есть экземпляр объекта в javascript, кажется, что его трудно найти, например,
var Point2D = function Point2D(x, y) {
return {
X: x,
Y: y
}
}
var p = new Point2D(1,1);
typeof p // yields just 'Object' not 'Point2D'
Один из способов, который я нашел, заключался в том, чтобы сделать объект своим собственным прототипом, а затем вы можете получить его имя эффективно, вызвав prototype.constructor.name,
var Point2D = function Point2D(x, y) {
return {
X: x,
Y: y,
prototype: this
}
}
new Point2D(1,1).prototype.constructor.name // yields 'Point2D'
Будет ли это ОК способ сделать это (какие плюсы/минусы?) или есть лучшая практика, которую я упускаю?
Спасибо.