TypeScript est un sur-ensemble de JavaScript développé par Microsoft. TypeScript est compatible avec JavaScript et peut charger du code JavaScript puis l'exécuter. Les améliorations de TypeScript par rapport à JavaScript incluent : l'ajout de commentaires pour permettre au compilateur de comprendre les objets et les fonctions pris en charge. Le compilateur supprimera les commentaires sans augmenter la surcharge ;
Pourquoi y a-t-il TypeScript
JavaScript n'est qu'un langage de script et n'est pas conçu pour développer des applications Web à grande échelle. JavaScript ne fournit pas les concepts de classes et de modules, et TypeScript étend JavaScript pour implémenter ces fonctionnalités. Les principales fonctionnalités de TypeScript incluent :
TypeScript est un langage open source lancé par Microsoft et utilise le contrat de licence Apache
TypeScript est un sur-ensemble de JavaScript
TypeScript ajoute des types, classes et modules facultatifs
TypeScript se compile en JavaScript standard lisible
TypeScript prend en charge le développement d'applications JavaScript à grande échelle
TypeScript est conçu pour développer des applications à grande échelle et garantit la compatibilité du code JavaScript compilé
TypeScript étend la syntaxe de JavaScript, de sorte que le code JavaScript existant peut s'exécuter directement avec TypeScript sans modification
L'extension du fichier TypeScript est ts, et le compilateur TypeScript le compilera dans un fichier js
La syntaxe TypeScript est la même que celle de JScript .NET
TypeScript est facile à apprendre et à comprendre
Caractéristiques grammaticales
Cours
Interfaces
Modules
Tapez les annotations
Vérification du type au moment de la compilation
Fonction flèche (similaire à l'expression Lambda de C#)
La différence entre JavaScript et TypeScript
TypeScript est un sur-ensemble de JavaScript qui étend la syntaxe de JavaScript afin que le code JavaScript existant puisse fonctionner avec TypeScript sans aucune modification. TypeScript fournit une vérification de type statique au moment de la compilation via des annotations de type. TypeScript peut traiter le code JavaScript existant et utiliser uniquement
Le code TypeScript est compilé.
Dans cette section, nous présenterons l'inférence de type dans TypeScript. Nous verrons où l'inférence de type est nécessaire et comment la faire.
Bases
Dans TypeScript, l'inférence de type sera utilisée pour fournir des informations de type à plusieurs endroits où les annotations de type ne sont pas explicitement spécifiées.
var x = 3
La valeur de la variable "x" est considérée comme étant un nombre. Cette inférence se produit lorsque les variables ou les membres sont initialisés, les valeurs par défaut des paramètres sont définies et les types de retour de fonction sont déterminés.
Meilleur type public
Lorsque l'inférence de type est requise à partir de plusieurs expressions, les types de ces expressions seront utilisés pour déduire un « meilleur type commun ». Par exemple :
var x = [0, 1, nul];
Pour déduire le type de "x" dans l'exemple, nous devons considérer le type de chaque élément du tableau. Ici, nous avons le choix entre deux types de tableaux : nombre et nul. Le meilleur algorithme de type commun nécessite que tous les types candidats soient pris en compte et qu'un type compatible avec tous les types candidats soit sélectionné. (Le type ici peut être Array
Étant donné que le meilleur type commun est sélectionné parmi les types candidats fournis, il existe des cas où les types candidats partagent un type commun, mais aucun type n'est le type parent de tous les types candidats. Par exemple :
class Animal { name:string; constructor(theName: string) { this.name = theName; } } class Snake extends Animal{ constructor(name: string) { super(name); } } class Elephant extends Animal{ constructor(name: string) { super(name); } } class Rhino extends Animal { constructor(name: string) { super(name); } } var zoo = [new Rhino(), new Elephant(), new Snake()]; // 这里三个成员的类型分别为:Rhino、Elephant、Snake 他们是最佳公共类型的候选类型,Animal是他们的super type(译为父类型)
Idéalement, nous pourrions vouloir que zoo soit déduit qu'il est de type Animal[], mais comme aucun objet du tableau n'est strictement de type Animal, nous ne pouvons pas faire cette inférence. Pour résoudre ce problème, nous devons fournir le type explicitement lorsque le type parent de tous les types candidats ne peut pas être déduit.
var zoo: Animal[] = [new Rhino(), new Elephant(), new Snake()];
Lorsqu'il n'y a pas de meilleur type public, le résultat de l'inférence est de produire un objet vide, {}. Étant donné que ce type ne contient aucun membre, l’accès à l’une de ses propriétés entraînera une erreur. Ce résultat nous permet toujours d'utiliser l'objet en ignorant le type, mais le type de l'objet ne peut pas être implicitement déterminé tout en garantissant la sécurité du type.
Type de contexte (Contexte)
Dans TypeScript, l'inférence de type existe également "sinon" dans certains cas. C'est ce qu'on appelle la « catégorisation contextuelle ». Le classement contextuel se produit lorsque le type d'une expression est implicitement spécifié dans le contexte dans lequel elle apparaît. Par exemple :
window.onmousedown = function(mouseEvent) { console.log(mouseEvent.buton); //<- 编译时抛出错误 };
上面的代码将会给出一个类型错误,TypeScript的类型检查器使用Window.onmousedown函数的类型来推断右边的函数表达式类型。当它这么做的时候,便能够推断出参数mouseEvent的类型。 如果这个表达式不在可进行上下文归类的位置,参数mouseEvent 需要给定一个any类型,这样就不会出现错误了。
如果需要上下文归类的表达式内容中包含明确的类型信息,则会忽略上下文归类。我们重写上面的例子:
window.onmousedown = function(mouseEvent: any) { console.log(mouseEvent.buton); //<- 现在不会报错了 };
参数明确指定类型的函数表达式将会忽略上下文归类。经过这样的处理就不会报错了,因为没有应用到上下文归类。
上下文归类可应用于许多场景。常见的场景包括函数调用的参数、赋值的等号右边表达式、类型确定、对象成员和数组字面量、返回值语句。上下文类型也作为最佳公共类型的候选类型。例如:
function createZoo(): Animal[] { return [new Rhino(), new Elephant(), new Snake()]; }
在这个例子中,最佳公共类型有四个候选类型:Animal,Rhino,Elephant,和Snake。其中,Animal可以作为最佳公共类型。
形式有点像数学中的求最小公倍数...

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

Node.js excelle dans des E / S efficaces, en grande partie grâce aux flux. Streams traite les données progressivement, en évitant la surcharge de mémoire - idéal pour les fichiers volumineux, les tâches réseau et les applications en temps réel. Combiner les flux avec la sécurité de type dactylographié crée un powe

Les différences de performance et d'efficacité entre Python et JavaScript se reflètent principalement dans: 1) comme un langage interprété, Python fonctionne lentement mais a une efficacité de développement élevée et convient au développement rapide des prototypes; 2) JavaScript est limité au thread unique dans le navigateur, mais les E / S multi-threading et asynchrones peuvent être utilisées pour améliorer les performances dans Node.js, et les deux ont des avantages dans les projets réels.

JavaScript est originaire de 1995 et a été créé par Brandon Ike, et a réalisé que la langue en langue C. 1.C offre des capacités de programmation élevées et au niveau du système pour JavaScript. 2. La gestion de la mémoire de JavaScript et l'optimisation des performances reposent sur le langage C. 3. La fonctionnalité multiplateforme du langage C aide JavaScript à s'exécuter efficacement sur différents systèmes d'exploitation.

JavaScript s'exécute dans les navigateurs et les environnements Node.js et s'appuie sur le moteur JavaScript pour analyser et exécuter du code. 1) Générer une arborescence de syntaxe abstraite (AST) au stade d'analyse; 2) Convertir AST en bytecode ou code machine à l'étape de compilation; 3) Exécutez le code compilé à l'étape d'exécution.

Les tendances futures de Python et JavaScript incluent: 1. Python consolidera sa position dans les domaines de l'informatique scientifique et de l'IA, 2. JavaScript favorisera le développement de la technologie Web, 3. Le développement de plate-forme multiplié deviendra un sujet brûlant, et 4. L'optimisation des performances sera le focus. Les deux continueront d'étendre les scénarios d'application dans leurs champs respectifs et de faire plus de percées dans les performances.

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel
