GJS gnome-shell异常错误,如何克服这个错误

GJS gnome-shell exception error, how to overcome this error

我想了解此错误消息是什么。

imports.ui.dateMenu.DateMenuButton.prototype.hide()

当我在 lookingGlass 中 运行 以上时,出现以下错误

<exception Error: Can't convert to pointer on .Gjs_ui_dateMenu_DateMenuButton.prototype; only on instances>

谁能详细解释一下

谢谢。

JavaScript 具有 原型继承 — 这意味着 DateMenuButton.prototype 是一个包含 DateMenuButton 方法的对象,但它本身不是 DateMenuButton。因此,当您调用 DateMenuButton.prototype.hide() 时,您是在不是 DateMenuButton 的对象上调用 DateMenuButton 的 hide() 方法。这会给你一个错误。错误消息不是特别清楚,但“不能 ___ 在原型上,只能在实例上”暗示了正在发生的事情。

要调用此方法,您需要一个实际的 DateMenuButton 对象。

这里有一些关于原型继承的进一步阅读 material:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain