Gépelt

Gépelt
Logó.
Az első változat kelte 2012. február 9
Paradigma Több paradigma
Szerző Anders Hejlsberg ...
Fejlesztő Microsoft
Utolsó verzió 4.2.4 ( 2021. április 9)
Fejlesztői verzió 4.3 Béta ( 2021. április 9)
Gépelés dinamikus , gyenge , erős választható , statikus választható
Befolyásolta JavaScript , C # , F #
Beírva JavaScript és TypeScript
Engedély Open Web Foundation , fordító: Apache 2.0
Weboldal http://www.typescriptlang.org/
Fájlkiterjesztés .ts

A TypeScript egy ingyenes és nyílt forráskódú programozási nyelv, amelyet a Microsoft fejlesztett ki ésamelynek célja a JavaScript- kód előállításának fejlesztése és biztosítása. Ez a JavaScript szigorú szintaktikai szuperhalmaza (vagyis bármilyen helyes JavaScript kód használható a TypeScript-szel). Gépelt kódot transcompiled be a JavaScript , ezért lehet, bármelyik böngésző vagy JavaScript motor . A TypeScriptet Anders Hejlsberg , a C # fő feltalálója készítette.

A TypeScript lehetővé teszi a változók és függvények opcionális statikus beírását , osztályok és interfészek létrehozását, modulok importálását, miközben fenntartja a JavaScript nem kötelező érvényű megközelítését. Támogatja az ECMAScript 6 specifikációt .

A TypeScript támogatja a definíciós fájlokat, amelyek információkat tartalmazhatnak a meglévő JavaScript könyvtárak típusáról, ahogy a C ++ fejlécfájlok is leírhatják a meglévő objektumfájlok felépítését. Ez lehetővé teszi más programok számára, hogy a fájlokban meghatározott értékeket statikus típusú TypeScript entitásokként használják. Vannak harmadik fél fejléc fájlokat népszerű könyvtárakban, mint például a jQuery , MongoDB és d3.js . Az alap Node.js modulok TypeScript fejlécei is rendelkezésre állnak, amelyek lehetővé teszik a Node.js programok fejlesztését a TypeScript-ben.

Maga a TypeScript fordító TypeScript-be van írva, és JavaScript-be van állítva. Az Apache License 2.0 licenc alatt van . A TypeScript első osztályú programozási nyelvként szerepel a Microsoft Visual Studio 2013 2. és későbbi frissítésében, a C # és más Microsoft nyelvek mellett. [7] Egy hivatalos kiterjesztés lehetővé teszi a Visual Studio 2012 számára a TypeScript támogatását is. [8] Anders Hejlsberg, a C # főépítésze, a Delphi és a Turbo Pascal készítője a TypeScript fejlesztésén dolgozott.

Történelmi

A TypeScript 2007 - ben került nyilvánosságra 2012. október(a 0.8-as verziónál), két év belső fejlesztés után a Microsoftnál. Nem sokkal a bejelentés után Miguel de Icaza megdicsérte magát a nyelvet, de kritizálta a Microsoft Visual Studio- n kívül kiforrott fejlesztői környezet hiányát , amely nem volt elérhető Linuxon és OS X-en .

Az Electron keretrendszer által támogatott Visual Studio Code fejlesztői környezet (a Google Chromium kezdeményezésére), amely Windows, MacOSX és Linux rendszereken érhető el, most lehetővé teszi ennek a hiányosságnak a kitöltését.

Ma már más IDE-k, különösen az Eclipse támogatása van, a Palantir Technologies által biztosított plug- inen keresztül . Különböző szövegszerkesztők, köztük az Emacs , a Vim , a Webstorm , az Atom és a Microsoft saját Visual Studio Code is támogatják a TypeScript-t.

A 2013-ban kiadott TypeScript 0.9 hozzáadta a generikusok támogatását. A TypeScript 1.0 a Microsoft Build Developer Conference konferencián jelent meg 2014-ben. A Visual Studio 2013 Update 2 beépített támogatást nyújt a TypeScript számára.

Ban ben 2014. július, a fejlesztőcsapat új TypeScript fordítót jelentett be, a teljesítmény ötszörösére hivatkozva. Ugyanakkor a forráskód, amelyet eredetileg a CodePlex tárolt , a GitHub- ba került .

az 2016. szeptember 22, A TypeScript 2.0 kiadva; számos funkciót vezetett be, köztük a programozók azon képességét, hogy megakadályozzák a változók "null" értékek hozzárendelését, amelyeket néha milliárd dolláros hibának neveznek .

A TypeScript 3.0-t kiadták 2018. július 30 , sok nyelvi kiegészítést hozva, mint például a pihenési paraméterek és az elosztott kifejezések, a pihenési paraméterek duplatípusokkal, az általános pihenési paraméterek stb.

Tervezés:

A TypeScript a JavaScript hiányosságaiból eredt a nagyszabású alkalmazások fejlesztésében mind a Microsoft, mind a külső ügyfelek körében. Az összetett JavaScript-kód kezelésének kihívásai egyedi eszközök iránti igényhez vezettek, amelyek megkönnyítik a komponensek fejlesztését a nyelven.

A TypeScript fejlesztői olyan megoldást kerestek, amely nem rontja meg a kompatibilitást a standarddal és annak platformokon átívelő támogatásával. Tudva, hogy a jelenlegi ECMAScript standard javaslat jövőbeni támogatást ígért az osztályalapú programozáshoz, a TypeScript erre a javaslatra épült. Ez egy olyan szintaxis nyelvi kiterjesztésű JavaScript-fordítóhoz vezetett, amely egy javaslat-alapú szuperhalmaz, amely a kiterjesztéseket standard JavaScript-vé alakítja. Ebben az értelemben a TypeScript egy előzetes megtekintés volt arról, hogy mit várhatunk el az ECMAScript 2015-től. Egyedülálló szempont, amely nincs a javaslatban, de hozzáadódik a TypeScript-hez, az opcionális statikus gépelés, amely lehetővé teszi a nyelv statikus elemzését, amely megkönnyíti az eszközöket és az IDE-t. támogatás.

Jellemzők

A nyelv az alábbi funkcionalitást adja hozzá az ECMAScript 6-hoz:

Az 1.6- os verzió óta a JSX- szintaxis támogatott.

Statikus gépelés

A nyelv egy változó tartalmának vagy egy függvény (vagy egy módszer) visszatérési értékének megadására szolgál:

// Création d'une variable contenant une valeur booléenne. var maValeurBooleenne: boolean = false; // Création d'une variable contenant une chaîne de caractère. var maChaineDeCaractere: string = "Hello World"; // Création d'une variable contenant un nombre. var monNombre: number = 1; // Création d'une fonction retournant une chaîne de caractère. function maFonction(): string { return "Ma valeur de retour"; }

Általános típus

Lehetséges általános típusok létrehozása is. Módszerhez:

function maFonction<T>(parametre: T) { // Contenu de la fonction. }

Egy osztály számára:

class MaClasse<T> { maVariable : T; // Contenu de la classe. } // Création d'une instance de la classe "MaClasse" en définissant un type. var monInstance = new MaClasse<string>(); monInstance.maVariable = "Hello World";

Interfészek

Példa

Az interfészek elengedhetetlen fogalom, és lehetővé teszik számunkra ezt a gépelési fogalmat. Egy felület létrehozásával lehetővé válik a változó vagy osztály tartalmának megadása:

interface MonInterface { // Création d'une signature de variable. maVariable: string; // Création d'une signature de méthode. maMethode(parametre: string): void; } class MaClasse implements MonInterface { maVariable: string; maMethode(parametre: string): void { // Contenu de la méthode. } } // Précision du type de la variable en utilisant l'interface. var instance: MonInterface = new MaClasse(); DefinitelyTyped

A JavaScript-ben kifejlesztett osztályokhoz (vagy funkciókhoz) szánt nagy felületű könyvtár elérhető a borisyankov GitHub-tárában.

Osztályok

A nyelv támogatja az órákat. Az öröklést ott is támogatják:

class MaClasseDeBase { private _firstname; private _lastname; public constructor(firstname: string, lastname: string) { this._firstname = firstname; this._lastname = lastname; } public direBonjour(): string { return "Bonjour " + this._firstname + ", " + this._lastname; } } // La classe hérite de "MaClasseDeBase". class MaClasse extends MaClasseDeBase { public constructor(firstname: string, lastname: string) { // Accède au constructeur de "MaClasseDeBase". super(firstname, lastname); } } // Création d'une instance de "MaClasse" et // appel de la méthode: "direBonjour" de la classe parente : "MaClasseDeBase". var monInstance: MaClasse = new MaClasse("Jean", "Dupond"); monInstance.direBonjour();

Amint a fenti példában látható, a nyelv háromféle láthatóságot tesz lehetővé, vagyis public: privateés protected. Ez utóbbi az 1.3-as verzióval érkezett.

Modulok

Modul (névtérnek is nevezhető) létrehozása megengedett a következő kulcsszóval module :

module mon.espace.de.nom { // Contenu du module: classe, fonction, etc. }

A TypeScript megkülönbözteti a belső modulokat a külső moduloktól. A belső modulok az ECMAScript 6 szintaxisán alapulnak, míg a külső modulok külső könyvtárat használnak: AMD vagy CommonJS .

Felsorolás

A TypeScript kódban történő felsorolást a kulcsszó kínálja enum.

Az állandó érték meghatározása nélkül:

enum Couleur {Bleu, Rouge, Vert};

Vegye figyelembe, hogy alapértelmezés szerint a felsorolás első állandójának értéke 0 lesz.

Az érték meghatározásával:

enum Couleur {Bleu = 0, Rouge = 1, Vert = 2};

Teljesen meg lehet adni az " 1 " (vagy bármely más szám) értéket az első konstansnak.

Opcionális paraméterek

Egy paraméter opcionálisan meghatározható a TypeScript-ben, a karakter hozzáadásával ?a változó neve után:

function maFonction(monParametre?: string) { // On teste si le paramètre "monParametre" a une valeur. if (monParametre) { return monParametre; } else { // Dans le cas contraire, une valeur par défaut est retournée. return "Hello World"; } } // La valeur retournée sera : "Hello World" sans avoir un message d'avertissement lors de la compilation. var resultat: string = maFonction(); // La valeur retournée sera : "Ma valeur". var resultat: string = maFonction("Ma valeur");

Szakszervezetek

A szakszervezetek a nyelv 1.4-es verziójával érkeztek. Ez a funkció lehetővé teszi több típus hozzáadását a függvény (vagy egy módszer) paraméteréhez:

// La fonction autorise que le paramètre soit une chaîne de caractère ou un tableau de chaîne de caractère. function maFonction(monParametre: string|string[]): void { if (typeof monParametre === "string") { // Traitement de ma chaîne de caractère. } else { // Traitement de mon tableau. } }

Más néven

A szakszervezetek mellett az 1.4 verzió lehetővé teszi álnevek létrehozását:

// Création d'un alias basé sur le type "number". type MonAlias = number; // Utilisation de l'alias ci-dessus. var monNombre: MonAlias = 1;

fejlesztési eszközök

Fordítóprogram

A TypeScript kód JavaScript kóddá történő átalakításához fordító szükséges. Ehhez a fordítót kell használnia tsc. A csomagkezelőből telepíthető npm. A jelenlegi verzió alapértelmezés szerint támogatja az ECMAScript 3 specifikációt, és támogatja az ECMAScript 5 és 6 specifikációhoz nem tartozó funkciókat is (a fordító opcióinak megadásával).

Fejlesztési környezetek

A fordító különféle környezetekhez társítható, például:

Lásd is

Külső linkek

Hivatkozások

  1. Release TypeScript 4.2.4  " (hozzáférés : 2021. április 10. )
  2. "  https://github.com/microsoft/TypeScript/releases/tag/v4.3-beta  "
  3. Microsoft leveszi a csomagolást a TypeScriptről, a JavaScript | ZDNet
  4. TypeScript: JavaScript fejlesztés az alkalmazásskálán - Somasegar blogja - Webhely kezdőlap - MSDN blogok
  5. Microsoft TypeScript: Megmenthet-e minket a C # atyja a JavaScript zsarnokságától? | ZDNet
  6. Microsoft Augments Javascript a CIO.com nagyszabású fejlesztéshez
  7. http://www.siteduzero.com/news-62-45586-p1-microsoft-devoile-le-typescript-evolution-de-javascript.html
  8. Az objektumfájl olyan fájl, amely objektumkódot, azaz mozgatható formátumú gépkódot tartalmaz, amelyet általában nem lehet közvetlenül végrehajtani. Az objektumfájloknak különböző formátumai vannak, és ugyanaz az objektumkód különböző objektumfájlokba csomagolható. Az objektumfájl megosztott könyvtárként is működhet.
  9. (in) A Microsoft nagyszabású fejlesztés céljából bővíti a JavaScript-et
  10. (in) Gépirat beírása 1.0
  11. (en) gépirat: Első benyomások
  12. (in) Microsoft géppel: Can apja C # ments meg minket a zsarnokság JavaScript?
  13. TypeScript 1.3 bejelentése
  14. Bevezetés a TypeScript modulrendszerébe
  15. TypeScript 1.4 bejelentése
  16. Opciók összeállítása
  17. A géppel a Visual Studio-kód - MSDN Blogs
  18. TypeScript támogatás a WebStormban
  19. Sublime Text, Vi, Emacs: A TypeScript engedélyezve!
  20. Támogatott szintaxis kiemelés és témák: Támogatás - Codeanywhere
  21. "  IntelliJ IDEA 2016.2 súgó :: TypeScript támogatás  " a www.jetbrains.com címen (hozzáférés : 2016. szeptember 13. )