Γραφομηχανή: αυξάνοντας ενσωματωμένων τύπων

ψήφοι
14

πώς μπορεί κανείς να αυξήσει έναν από τους τύπους «ενσωματωμένο»; π.χ. Array;

Σε JS, θα ήθελα να κάνω κάτι σαν

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

ποιο είναι το αντίστοιχο ποσό σε γραφομηχανή;

Δημοσιεύθηκε 03/10/2012 στις 05:05
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
20

Τύποι είναι «ανοικτή έκλεισε» στη γραφομηχανή, έτσι μπορείτε απλά να γράψετε:

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

Και τότε ο τύπος έχει επεκταθεί για να συμπεριλάβει τη νέα λειτουργία (και μπορείτε να αναθέσετε μια λειτουργία που ταιριάζουν με την υπογραφή της).

Σημειώστε ωστόσο ότι η επέκταση της ενσωματωμένης τύπους (εκείνες lib.d.ts - όπως Array) έχει ένα θέμα επί του παρόντος στην υπηρεσία γλώσσα, καθώς αποθηκεύει προσωρινά τους εσωτερικά για λόγους perf. Κάντε τη λύση έγραψα-up σε http://typescript.codeplex.com/workitem/4 να επεκταθεί η ενσωματωμένων τύπων χωρίς σφάλματα στην υπηρεσία γλώσσα στην VS.

Απαντήθηκε 03/10/2012 στις 05:23
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more