web-dev-qa-db-fra.com

Prise en charge de TypeScript dans les navigateurs modernes

Je viens de lire quelques informations publicitaires liées à TypeScript et en plus je n'ai aucune expérience avec ce sur-ensemble de JavaScript. J'ai donc quelques questions de base:

  1. Quel est l'état de la prise en charge native de TypeScript par les navigateurs modernes?
  2. Quelles sont les positions des principaux fournisseurs de navigateurs pour la future prise en charge native de TypeScript?
  3. Quelle est la relation entre TypeScript et ECMAScript6 et TypeScript fournit-il beaucoup plus de fonctionnalités que ECMAScript6?

N'hésitez pas à répondre à tous ou au sous-ensemble de questions. Merci.

42

Prise en charge native

TypeScript ne doit pas être exécuté nativement. Cela dit, cela peut être assez facile, par exemple https://github.com/basarat/TypeScript-script ajoute la prise en charge des balises de script (bien que cela ajoute 6 Mo de prise en charge JS à une page).

Les fournisseurs de navigateurs n’ajouteraient pas une telle prise en charge (et ils ne devraient pas). Le navigateur exécute JavaScript et TypeScript peut être transpilé à la volée si vous le souhaitez ????

Prise en charge non native

Quel est l'état de la prise en charge de TypeScript par les navigateurs modernes?

TypeScript se compile en JS donc il est pris en charge par tous les navigateurs (même IE6)

Quelles sont les positions des principaux fournisseurs de navigateurs pour la prise en charge future de TypeScript?

Aucun travail n'est nécessaire pour le compte des fournisseurs de navigateurs.

Quelle est la relation entre TypeScript et ECMAScript6 et TypeScript fournit-il beaucoup plus de fonctionnalités que ECMAScript6?

Oui par ex. à partir des futures versions de javascript, par exemple champs de classe et propriétés statiques dans les classes.

2
basarat

TypeScript ne peut être exécuté ou compris par aucun navigateur. Ainsi, TypeScript est compilé en Java (que le navigateur peut comprendre). TypeScript peut utiliser toutes les fonctionnalités ES6 et pendant la compilation, elles seront converties en options de compilation Target comme ES5.

2
nithish peddi

Actuellement, cela ne fonctionnera pas, c'est un sujet intéressant. Ce serait bien de savoir si, à un moment donné, ECMAScript va prendre en charge les interfaces, les types et d'autres choses. Surtout, ce que je peux remarquer que ES prend en fait lentement certaines parties du TypeScript, par exemple énumérations.

Si cela fonctionnait, je préfèrerais le voir comme ECMAScript prenant de TypeScript quelques trucs plutôt que de supporter nativement TypeScript lui-même.

0