亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與構造簽名的接口如何工作?

與構造簽名的接口如何工作?

與構造簽名的接口如何工作?我在解決界面中定義構造函數的工作方式時遇到了一些麻煩。我可能完全誤解了一些事情。但是我已經尋找了很長一段時間的答案,我找不到與此相關的任何內容。如何在TypeScript類中實現以下接口:interface MyInterface {     new ( ... ) : MyInterface;}Anders Hejlsberg在此視頻中創建了一個包含類似內容的界面(大約14分鐘)。但對于我的生活,我無法在課堂上實現這一點。我可能誤解了一些事情,我沒有得到什么?編輯:澄清。用“new(...)”我的意思是“任何東西”。我的問題是我無法得到這個工作的最基本版本:interface MyInterface {     new () : MyInterface;}class test implements MyInterface {     constructor () { }}這不是為我編譯我得到“類'測試'聲明接口'MyInterface'但沒有實現它:類型'MyInterface'需要一個構造簽名,但類型'test'在嘗試編譯它時缺少一個。編輯:因此,在研究了這一點后,給出了反饋意見。interface MyInterface {     new () : MyInterface;}class test implements MyInterface {     constructor () => test { return this; }}是無效的TypeScript,這不能解決問題。您無法定義構造函數的返回類型。它將返回“測試”。下面的簽名:class test {constructor(){}}似乎是“new()=> test”(通過將“代碼”粘貼在在線編輯器中,將鼠標懸停在“class”上獲得)。這就是我們想要的和我認為的。任何人都可以在實際編譯時提供此類或類似的示例嗎?編輯(再次......):所以我可能想出了為什么可以在接口中定義它但不能在TypeScript類中實現的想法。以下工作:var MyClass = (function () {     function MyClass() { }     return MyClass;})();interface MyInterface {     new () : MyInterface;}var testFunction = (foo: MyInterface) : void =>  { }var bar = new MyClass();testFunction(bar);那么這只是TypeScript的一個功能,可以讓你接口javascript嗎?或者是否可以在TypeScript中實現它而無需使用javascript實現類?
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 857 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號