Maison > interface Web > js tutoriel > le corps du texte

Processus de compréhension par les programmeurs C# des compétences TypeScript_javascript

WBOY
Libérer: 2016-05-16 15:54:04
original
1397 Les gens l'ont consulté

Présentation

TypeScript s'est bien développé. Lorsque notre entreprise développe de nouvelles fonctionnalités, nous prenons en compte la maintenabilité du programme et utilisons TypeScript pour écrire des programmes sur le navigateur. Nous utilisons TypeScript à partir de zéro, et même moi, je ne suis qu'à moitié capable de javascript. Cet article décrit le processus par lequel un programmeur C# apprend à connaître TypeScript.

Remarque : cet article est écrit sur la base de la version Typescript 0.8, et son utilisation est nouvelle et peut être obsolète. Pour des spécifications spécifiques, veuillez vous référer à http://www.typescriptlang.org

Espaces de noms et classes

En tant que développeur orienté objet, la première chose qui nous vient à l'esprit est la manière dont TypeScript définit les classes. Puisque les principes de notre serveur de projet (C#) sont exactement les mêmes que ceux du client (TypeScript), nous utilisons simplement C#. et TypeScript ici.

Classe de déclaration C#

using System;
namespace Digiwin.Mars.VirtualUI.Engine {
internal sealed class Decoder {}
}

Copier après la connexion

Classe de déclaration TypeScript

///<reference path="../Collections/ICollection.ts" />
module System.Erp.VirtualUI.Engine {
export class Decoder {}
}

Copier après la connexion
Tout d'abord, pour faire simple, il existe des concepts similaires aux espaces de noms. L'un s'appelle espace de noms et l'autre s'appelle module. Ce n'est pas un non-sens.

Deuxièmement, pour référencer d'autres classes en C#, vous devez d'abord référencer la DLL dans le fichier de projet, puis utiliser un espace de noms (facultatif) dans l'en-tête du fichier. Cependant, dans TypeScript, un tel concept n'existe pas. le fichier est directement référencé.

En C#, les classes peuvent avoir de nombreux niveaux tels que public, interne, etc., ainsi que des modificateurs tels que scellé. Oubliez-les dans TypeScript. L'ajout d'exportation équivaut à public, abstract, type de valeur, etc. ne pas être disponible.

Mais il existe des interfaces.

Méthodes et commentaires

Méthode C#

    /// <summary>
    ///  解码变更集
    /// </summary>
    /// <param name="reader"> 一个变更集读取器对象 </param>
    public void DecodeChangeSet(ChangeRecordReader reader) {
      //解码上下文对象
      var ctx = new DecodeContext();

Copier après la connexion
Méthode de déclaration TypeScript

    /**
     * 传入变更集,将其解码到当前的对象容器。
     * @param {System.Erp.VirtualUI.Engine.IChangeRecordReader} reader - 提供记录集。
     */

    public Decode(reader: IChangeRecordReader): void {
      //解码上下文对象
      var ctx = new DecodeContext();

Copier après la connexion
Nous voyons d’abord que les commentaires spécifiques aux documents XML de C# sont également pris en charge, contrairement aux autres spécifications JsDoc.

Les commentaires ordinaires utilisent également //, ce qui est exactement la même chose que javascript.

Dans la déclaration d'une méthode, TypeScript met le paramètre de retour à la fin. De manière correspondante, le type du paramètre est également placé après le nom. Si vous déclarez une variable, il en va de même

.

private _maxId: number; //Définir les champs sur la classe

var item: VirtualObject; //Définit les variables dans la méthode.

En termes d'accessibilité des méthodes, public est pris en charge, afin qu'il puisse être rendu public ou non.

Paramètres et construction

En C#, nous définissons souvent plusieurs méthodes avec le même nom et utilisons différents types de paramètres pour les distinguer, mais cela n'est pas autorisé en JavaScript, donc TypeScript ne le permet pas.

Pour les raisons ci-dessus, vous pouvez également comprendre qu'il ne peut y avoir qu'un seul constructeur. Voici un exemple de son constructeur :

    constructor(

      objectContainer: VirtualObjectContainer,

      objectBinder:IObjectBinder

    ) {

      this._objectContainer = objectContainer;

      this._binder = objectBinder;

    }

Copier après la connexion
Basé sur le concept de JavaScript, il n'y a pas de mot-clé tel que ref out in, mais il existe des paramètres d'accès nommés et des paramètres facultatifs.

Je n'ai pas trouvé le mot-clé override, même s'il est dit qu'il a été ajouté après la 0.8.

D'accord, pour plus de détails, vous devez étudier lentement le document de spécification. Ce document peut vous aider à démarrer et à apprécier son utilisation.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal