w jaki sposób można poszerzyć jeden z typów „wbudowane”? np Array?
W JS, zrobiłbym coś takiego
Array.prototype.shuffle = function () { ... };
co jest równoważne w maszynie?
w jaki sposób można poszerzyć jeden z typów „wbudowane”? np Array?
W JS, zrobiłbym coś takiego
Array.prototype.shuffle = function () { ... };
co jest równoważne w maszynie?
Typy są „otwarte zakończył” w maszynopisie, więc można po prostu napisać:
interface Array {
shuffle: () => any; // <-- Whatever signature you want.
}
A następnie typ jest rozszerzona o nową funkcję (można przypisać funkcję dopasowania podpis do niego).
Należy jednak pamiętać, że rozszerzenie wbudowanych typów (tych w lib.d.ts - takich jak Array) ma problemu obecnie w służbie językowej, ponieważ wewnętrznie buforuje tych powodów perf. Zrobić obejście napisałem-up na http://typescript.codeplex.com/workitem/4 rozszerzyć wbudowaną typów bez błędów w służbie językowej w VS.