2012-10-03 21 views
14

एक 'अंतर्निर्मित' प्रकारों में से एक को कैसे बढ़ाता है? उदाहरण के लिए ऐरे?टाइपस्क्रिप्ट: अंतर्निहित प्रकार

जे एस में, मैं की तरह

Array.prototype.shuffle = function() { ... }; 

टाइपप्रति में बराबर क्या कुछ करना चाहते हैं?

उत्तर

20

प्रकार टाइपप्रति में 'समाप्त हो गया खुला' कर रहे हैं, तो आप सिर्फ लिख सकते हैं:

interface Array { 
    shuffle:() => any; // <-- Whatever signature you want. 
} 

और फिर प्रकार नए कार्य को शामिल करने के लिए विस्तार किया गया है (और आप इसे करने के लिए हस्ताक्षर मिलान एक समारोह असाइन कर सकते हैं) ।

नोट हालांकि अंतर्निर्मित प्रकार (lib.d.ts - जैसे कि ऐरे) में विस्तार करना भाषा सेवा में वर्तमान में एक समस्या है, क्योंकि यह आंतरिक रूप से perf कारणों से उनको कैश करता है। VS में भाषा सेवा में त्रुटियों के बिना अंतर्निहित प्रकारों को बढ़ाने के लिए मैंने http://typescript.codeplex.com/workitem/4 पर लिखे गए वर्कअराउंड को करें।

+4

अद्यतन वर्कटाइम: http://typescript.codeplex.com/workitem/176 – basarat

+0

यह स्थैतिक फ़ंक्शन के लिए कैसे काम करता है? – georgiosd

+0

क्या हमारे पास काम-आसपास अपडेट किए गए प्लस का लिंक हो सकता है? –

संबंधित मुद्दे