Я пытаюсь решить вопрос Leetcode и узнать об объектах Javascript. Это вопрос.
/**
* Initialize your data structure here.
*/
var MyHashSet = function() {
};
/**
* @param {number} key
* @return {void}
*/
MyHashSet.prototype.add = function(key) {
};
/**
* @param {number} key
* @return {void}
*/
MyHashSet.prototype.remove = function(key) {
};
/**
* Returns true if this set contains the specified element
* @param {number} key
* @return {boolean}
*/
MyHashSet.prototype.contains = function(key) {
};
/**
* Your MyHashSet object will be instantiated and called as such:
* var obj = Object.create(MyHashSet).createNew()
* obj.add(key)
* obj.remove(key)
* var param_3 = obj.contains(key)
*/
Я в замешательстве по поводу строки:
var obj = Object.create(MyHashSet).createNew()
Разве это не должен быть Object.create (MyHashSet.prototype)?
Кроме того, откуда берется createNew ()?
Я предполагаю, что Leetcode делает некое волшебство за кулисами, которое я не понимаю.
Спасибо за помощь!