Ne Tapuscrit ont un équivalent du ES6 “Jeux”

Je veux extraire toutes les propriétés uniques à partir d'un tableau d'objets, vous pouvez le faire dans l'ES6 très proprement à l'aide de la propagation de l'opérateur et de la Ensemble donc:

var arr = [ {foo:1, bar:2}, {foo:2, bar:3}, {foo:3, bar:3} ]   
const uniqueBars = [... new Set(arr.map(obj => obj.bar))];

>> [2, 3]

Cependant, en caractères d'imprimerie 1.8.31 cela me donne l'erreur de génération:

Ne peut pas trouver le nom 'Set'

Je sais que je peux la force de VS de les ignorer en utilisant

declare var Set;

Mais je suis en espérant quelque chose Tapuscrit de compiler dans le non-ES6, de sorte qu'il pourrait être utilisé sur des systèmes plus anciens.

Personne ne sait si il y a une fonctionnalité que je pourrais utiliser?

Modifier:

En fait, même lorsque j'utilise declare var Set;, le code ci-dessus compile mais génère cette erreur à plusieurs reprises, donc je ne suis pas sûr de la façon de l'utiliser même sans compiler vers le bas:

Uncaught TypeError: (valeur intermédiaire).la tranche n'est pas une fonction

Comment puis-je mettre à jour mon code pour utiliser Set en caractères d'imprimerie?

Double Possible de Angulaire 2 tapuscrit ne pouvez pas trouver les noms de
TS n'est pas nécessaire d'avoir un équivalent de ce, parce que TS transpiles JS, et Set est polyfillable JS fonctionnalité. C'est un doublon, stackoverflow.com/a/41608156/3731501 en particulier.
Je suppose que vous pourriez aussi compiler le fichier d'enregistrement pour ES6 code et puis transpile que pour ES5 avec quelque chose comme babel. Qui vous permettra d'utiliser toutes les ES6 collections.

OriginalL'auteur Charles Clayton | 2017-01-21