πώς μπορεί κανείς να αυξήσει έναν από τους τύπους «ενσωματωμένο»; π.χ. Array;
Σε JS, θα ήθελα να κάνω κάτι σαν
Array.prototype.shuffle = function () { ... };
ποιο είναι το αντίστοιχο ποσό σε γραφομηχανή;
πώς μπορεί κανείς να αυξήσει έναν από τους τύπους «ενσωματωμένο»; π.χ. Array;
Σε JS, θα ήθελα να κάνω κάτι σαν
Array.prototype.shuffle = function () { ... };
ποιο είναι το αντίστοιχο ποσό σε γραφομηχανή;
Τύποι είναι «ανοικτή έκλεισε» στη γραφομηχανή, έτσι μπορείτε απλά να γράψετε:
interface Array {
shuffle: () => any; // <-- Whatever signature you want.
}
Και τότε ο τύπος έχει επεκταθεί για να συμπεριλάβει τη νέα λειτουργία (και μπορείτε να αναθέσετε μια λειτουργία που ταιριάζουν με την υπογραφή της).
Σημειώστε ωστόσο ότι η επέκταση της ενσωματωμένης τύπους (εκείνες lib.d.ts - όπως Array) έχει ένα θέμα επί του παρόντος στην υπηρεσία γλώσσα, καθώς αποθηκεύει προσωρινά τους εσωτερικά για λόγους perf. Κάντε τη λύση έγραψα-up σε http://typescript.codeplex.com/workitem/4 να επεκταθεί η ενσωματωμένων τύπων χωρίς σφάλματα στην υπηρεσία γλώσσα στην VS.