JScript .NET

JScript .NET
Paradigm multiparadigm
Utvecklare Microsoft Corporation
Maskinskrivningsdisciplin anka , svag , dynamisk
Plattform .NET Framework
Influerad av
JScript , ECMAScript
JScript .NET
Filnamnstillägg
.js

JScript .NET är ett .NET- programmeringsspråk utvecklat av Microsoft .

De primära skillnaderna mellan JScript och JScript .NET kan sammanfattas enligt följande:

För det första är JScript ett skriptspråk , och som sådana kan program (eller mer suggestivt, skript ) köras utan att behöva kompilera koden först. Detta är inte fallet med JScript .NET kommandoradskompilator, eftersom nästa generations version förlitar sig på .NET Common Language Runtime (CLR) för exekvering, vilket kräver att koden kompileras till Common Intermediate Language (CIL), tidigare kallad Microsoft Intermediate Language (MSIL), kod innan den kan köras. Ändå ger JScript .NET fortfarande fullt stöd för att tolka kod under körning (t.ex. via funktionskonstruktorn eller eval - funktionen) och tolken kan faktiskt exponeras av anpassade applikationer som är värd för JScript .NET-motorn via VSA [ jargong ] -gränssnitt.

För det andra har JScript en stark grund i Microsofts ActiveX / COM -teknologier och förlitar sig främst på ActiveX-komponenter för att tillhandahålla mycket av dess funktionalitet (inklusive databasåtkomst via ADO , filhantering, etc.), medan JScript .NET använder .NET Framework för att tillhandahålla motsvarande funktionalitet. För bakåtkompatibilitet (eller där det inte finns något motsvarande .NET-bibliotek) ger JScript .NET fortfarande full åtkomst till ActiveX-objekt via .NET/ COM Interop med både ActiveXObject-konstruktorn och standardmetoderna för klassen .NET Type .

Även om .NET Framework- och .NET-språken som C# och Visual Basic .NET har antagits i stor utsträckning, har JScript .NET aldrig fått mycket uppmärksamhet, varken av media eller av utvecklare. Det stöds inte i Microsofts främsta utvecklingsverktyg, Visual Studio .NET . ASP.NET stöder dock JScript .NET.

Språkskillnader

Följande är utmärkta exempel på språkskillnader mellan JScript .NET och andra .NET-språk, inklusive jämförelser.

Skillnader med C#

  • JScript .NET kräver inte en main() -funktion som operativsystemet måste anropa direkt när en JScript .NET-applikation körs, eftersom JScript .NET-programflödet kan baseras på global kod.
  • JScript .NET, på grund av dess mycket lösa typkontrollsystem kan vara mycket lätt att lära sig, eftersom konventionen om explicit typdeklaration inte alls krävs.
  • JScript .NET kräver inga explicita referenser till .NET Framework Base Class Library, eftersom vissa funktioner som finns i tidigare versioner av JScript finns i JScript .NET (t.ex. funktioner för att hitta tangenten till en vinkel för en rätvinklig triangel ).
  • JScript .NET är nära kopplat till C-syntax , och är därför mycket lätt att lära sig för C# , Java eller C++ utvecklare.
  • Medan JScript .NET kan användas för att skapa Windows Forms-applikationer, kommer JScript .NET att ha vissa problem, eftersom delegater bara kan konsumeras i JScript .NET och inte skapas. Därför är anpassade händelser svåra att efterlikna i JScript .NET.

Skillnader med C++

  • JScript .NET kräver ingen main() -funktion .
  • JScript .NET kräver ingen explicit typdeklaration på variabler. (I C++ kan användningen av mallar och generika jämföras med detta, löst emuleras med mallspecialisering, etc.)
  • JScript .NET kräver inte heller explicita typcasts på variabel användning i programmet. Kod som används för att hämta en sträng av tecken, men som endast används för heltal kan castas implicit; vice versa kan göras utan fel vid kompilering, men det finns en risk för förlust av precision eller data.

t.ex:

 




   

   importsystem  ;  _  Konsol  .  WriteLine  (  "Hej, vad heter du?"  );  Konsol  .  WriteLine  (  "Skriv ditt namn: "  );  var  _name  =  Konsol  .  ReadLine  ();  Konsol  .  WriteLine  (  "Hej, "  +  _name  ); 

Skillnader med Java

  • JScript .NET-syntax och lexikaliska konventioner liknar Java genom att båda härrör från C . JScript var ursprungligen Microsofts implementering av ECMAScript , som är mer känt som JavaScript , även om det inte är relaterat till Java. Således kommer användare av Java och andra C-härledda språk att finna JScript lättare att lära sig.
  • JScript .NET tillåter utvecklare att använda otypade variabler och kan ibland sluta sig till deras typ från deras användning för att optimera den kompilerade koden. Å andra sidan kräver Java att alla variabler ska skrivas.
  • JScript .NET kan lägga till egenskaper och metoder till objekt under körning , medan Java-objekt alltid överensstämmer med deras deklarerade gränssnitt.
  • JScript .NET stöder globala variabler , något som Java inte gör.

Skillnader med äldre versioner av JScript

  • JScript .NET tillåter utvecklare att deklarera variabler och funktioner med typinformation (t.ex. var x : String; ), medan typinformation för JScripts variabler och funktioner inte kan deklareras (t.ex. var x; ).
  • JScript .NET-skript tolkas inte, utan exekveras oberoende. När den körs kommer en JScript .NET-applikation att anropa CLR . CLR kommer att utföra CIL -instruktionerna utan att använda en tolk.
  • JScript .NET kan köras utan närvaro av en webbläsare eller annan skriptmotor eftersom kompilatorn kan generera fristående körbara filer och sammanställningar. Men dessa kräver fortfarande att .NET Framework är installerat för att kunna köras.
  • JScript .NET ger tillgång till .NET Framework BCL ( Base Class Library ), vilket ger mycket mer funktionalitet.
  • JScript .NET är endast tillgängligt som ett skriptspråk för ASP.NET , tekniken som används för att generera webbsidor; sålunda tar JScript .NET en liknande roll som PHP och andra skriptspråk på serversidan. Internet Explorer använder dock fortfarande bara den äldre JScript-motorn, så JScript.NET kan inte användas för att skripta webbsidor (eller HTA eller HTC). I detta avseende är JScript mycket mer mångsidigt än JScript .NET.

Se även

Anteckningar