JScript .NET

Programming language developed by Microsoft
JScript .NET
Парадигмамногопарадигмальный
РазработчикКорпорация Майкрософт
Дисциплина печатиутка , слабая , динамичная
Платформа.NET Framework
Под влиянием
JScript , ECMAScript
JScript .NET
Расширение имени файла
.js

JScript .NETязык программирования .NET, разработанный корпорацией Microsoft .

Основные различия между JScript и JScript .NET можно обобщить следующим образом:

Во-первых, JScript — это язык сценариев , и как таковые программы (или, что более предположительно, сценарии ) могут быть выполнены без необходимости предварительной компиляции кода. Это не относится к компилятору командной строки JScript .NET, поскольку эта версия следующего поколения полагается на .NET Common Language Runtime (CLR) для выполнения, что требует, чтобы код был скомпилирован в Common Intermediate Language (CIL), ранее называвшийся Microsoft Intermediate Language (MSIL), код перед его запуском. Тем не менее, JScript .NET по-прежнему обеспечивает полную поддержку интерпретации кода во время выполнения (например, через Functionконструктор или evalфункцию), и действительно интерпретатор может быть предоставлен пользовательскими приложениями, размещающими движок JScript .NET, через интерфейсы VSA [ жаргон ] .

Во-вторых, JScript имеет прочную основу в технологиях Microsoft ActiveX / COM и в первую очередь полагается на компоненты ActiveX для предоставления большей части своих функций (включая доступ к базе данных через ADO , обработку файлов и т. д.), тогда как JScript .NET использует .NET Framework для предоставления эквивалентной функциональности. Для обратной совместимости (или там, где нет эквивалентной библиотеки .NET), JScript .NET по-прежнему предоставляет полный доступ к объектам ActiveX через .NET / COM Interop, используя как конструктор ActiveXObject, так и стандартные методы класса .NET Type .

Хотя языки .NET Framework и .NET, такие как C# и Visual Basic .NET, получили широкое распространение, JScript .NET никогда не привлекал особого внимания со стороны СМИ или разработчиков. Он не поддерживается в главном инструменте разработки Microsoft, Visual Studio .NET . Однако ASP.NET поддерживает JScript .NET.

Языковые различия

Ниже приведены основные примеры языковых различий между JScript .NET и другими языками .NET, включая сравнения.

Различия с C#

  • JScript .NET не требует функции main() , которую операционная система должна вызывать напрямую при выполнении приложения JScript .NET, поэтому поток программы JScript .NET может быть основан на глобальном коде.
  • JScript .NET, благодаря своей очень свободной системе проверки типов, может быть очень прост в изучении, поскольку соглашение о явном объявлении типов вообще не требуется.
  • JScript .NET не требует явных ссылок на библиотеку базовых классов .NET Framework, поскольку некоторые функции, обнаруженные в более ранних версиях JScript, присутствуют в JScript .NET (например, функции для нахождения тангенса угла прямоугольного треугольника ).
  • JScript .NET тесно связан с синтаксисом C , поэтому его очень легко освоить разработчикам C# , Java или C++ .
  • Хотя JScript .NET можно использовать для создания приложений Windows Forms, JScript .NET будет иметь некоторые проблемы, поскольку делегаты могут быть только потреблены в JScript .NET, но не созданы. Таким образом, пользовательские события трудно эмулировать в JScript .NET.

Различия с C++

  • JScript .NET не требует функции main() .
  • JScript .NET не требует явного объявления типов переменных. (В C++ использование шаблонов и дженериков можно сравнить с этим, вольно эмулируя специализацию шаблонов и т. д.)
  • JScript .NET также не требует явного приведения типов при использовании переменных в программе. Код, используемый для извлечения строки символов, но используемый только для целых чисел, может быть приведен неявно; обратное может быть сделано без ошибок во время компиляции, но есть вероятность потери точности или данных.

например:

Система импорта ; Console.WriteLine ( " Привет, как тебя зовут?" ) ; Console.WriteLine ( " Введите свое имя: " );var _name = Console.ReadLine ( ) ;   Console.WriteLine ( "Привет, " + _name ) ;  

Различия с Java

  • Синтаксис и лексические соглашения JScript .NET похожи на Java, поскольку оба произошли от C. JScript изначально был реализацией ECMAScript от Microsoft , более известной как JavaScript , хотя она не связана с Java. Таким образом, пользователи Java и других языков, производных от C, найдут JScript более простым для изучения.
  • JScript .NET позволяет разработчикам использовать нетипизированные переменные и иногда может выводить их тип из их использования для оптимизации скомпилированного кода. С другой стороны, Java требует, чтобы все переменные были типизированы.
  • JScript .NET может добавлять свойства и методы к объектам во время выполнения , в то время как объекты Java всегда соответствуют своему объявленному интерфейсу.
  • JScript .NET поддерживает глобальные переменные , чего нет в Java.

Различия со старыми версиями JScript

  • JScript .NET позволяет разработчикам объявлять переменные и функции с информацией о типе (например, var x : String; ), в то время как информация о типе для переменных и функций JScript не может быть объявлена ​​(например, var x; ).
  • Скрипты JScript .NET не интерпретируются, а выполняются независимо. При выполнении приложение JScript .NET вызовет CLR . CLR выполнит инструкции CIL без использования интерпретатора.
  • JScript .NET может быть запущен без браузера или другого скриптового движка , поскольку компилятор может генерировать автономные исполняемые файлы и сборки. Однако для их запуска по-прежнему требуется установленный .NET Framework .
  • JScript .NET обеспечивает доступ к .NET Framework BCL ( библиотеке базовых классов ), предоставляя гораздо больше функциональных возможностей.
  • JScript .NET доступен только как язык сценариев для ASP.NET , технологии, используемой для генерации веб-страниц; таким образом, JScript .NET играет ту же роль, что и PHP и другие серверные языки сценариев. Однако Internet Explorer по-прежнему использует только старый движок JScript, поэтому JScript.NET нельзя использовать для сценариев веб-страниц (или HTA или HTC). В этом отношении JScript гораздо более универсален, чем JScript .NET.

Смотрите также

Примечания

Ссылки

  • Начало работы с JScript .NET
  • Знакомство с JScript .NET
  • Учебник JScript.NET и учебник по формам
Retrieved from "https://en.wikipedia.org/w/index.php?title=JScript_.NET&oldid=1230271721"