Typescript срещу Javascript – разбиране на разликата

Един от често задаваните въпроси, които получавам, е каква е разликата между JavaScript и Typescript?

Нека разберем…

От времето, когато започнахте да кодирате, JavaScript (JS) щеше да е част от всичките ви предни проекти. Ако сте малко запознати с JS, мислете за TypeScript като за JS плюс някои допълнителни функции, които правят приложението ви по-изчистено и написано. TypeScript е разработен като проект с отворен код от Microsoft, за да направи разработката на JS по-ефективна и да улови грешките при компилирането на ранен етап.

В тази статия ще обсъдим някои важни характеристики на JavaScript и TypeScript и разликите между двата скриптови езика.

Какво е JavaScript?

JavaScript се използва за скриптове от страна на клиента. Можете да създадете скрипт на HTML страница или да създадете файл с разширение .js и да го включите във вашия HTML файл. Често срещан пример от реалния свят, където можете да видите JavaScript, е проверката на страницата за вход, където ви се показва грешка, когато вашето потребителско име/парола е неправилно.

Нека напишем прост JS код и да го стартираме в браузъра:

Създайте файл example.html и добавете следния код:

<script>

feeling = 'happy';

feeling = 23;

</script>

Този прост код декларира променлива и й присвоява стойност happy (низ). Можем да присвоим стойност от различен тип (число) на същата променлива. JavaScript няма да се оплаче от него и можем да изпълняваме кода във всеки браузър без никакви проблеми. Сега нека разберем стойността на усещането от потребителя:

  Най-добрите MRTG алтернативи за подобряване на мониторинга на вашата мрежа през 2020 г

Нашият HTML ще изглежда така:

<input type = "textbox" id = "howyoufeel">

и скриптът ще бъде:

feeling = document.getElementById("howyoufeel").value;

Освен ако не поставим изрични проверки в скрипта, JS ще приеме всяка стойност от потребителя и ще я предаде. И така, можете да поставите всичко като 234, @.#$% и т.н. в променливата за усещане.

Характеристики на JavaScript

От горното можем да наблюдаваме следните характеристики на JavaScript:

  • Слабо въведен скриптов език
  • Използва се за скриптове от страна на клиента и от страна на сървъра (с node.js).
  • Гъвкав и динамичен
  • Поддържа се от всички основни браузъри
  • Лек и интерпретиран

Ако се интересувате от овладяването на JavaScript, вижте това Курс по Udemy.

Какво е TypeScript?

Едно реално приложение ще има много проверки и динамични проверки. За такива приложения JavaScript кодът ще стане труден за тестване в даден момент, главно защото няма проверка на типа. Докато получавате стойности от потребителите, важно е да ги получите точно в самото начало. Тук се намесва TypeScript.

TypeScript е строго типизиран и има компилатор, който се оплаква, ако не дефинирате типа на променлива.

И JavaScript, и TypeScript отговарят на спецификациите на ECMAScript за скриптов език. Typescript може да изпълнява целия код на JavaScript и поддържа всички негови библиотеки – затова се нарича надмножество на JavaScript.

Инсталиране на TypeScript

За да изпълним предишния си код в TypeScript, трябва да инсталираме TypeScript компилатора с помощта на пакета npm (ако имате възел js).

npm install -g typescript

или го изтеглете директно от официалния Страница за изтегляне на Microsoft. Можете също да използвате TS игрище за да видите как кодът се транс-компилира от ts в js.

  Как да деактивирате автоматичното възпроизвеждане на трейлъри на Netflix

След като това стане, можете да конфигурирате настройките на проекта в tsconfig.json и да използвате всяка IDE или текстов редактор, за да напишете TypeScript код и да го запишете като .ts.

Все още можете да се измъкнете, като не дефинирате типа на променливата и TypeScript може да изведе типа на данните. Въпреки това, ще получите грешка „усещане“, ако дадете нещо различно от първия използван тип (в нашия случай, низ) – по време на самата компилация.

Винаги е добре кодът да има анотация за тип за поддръжка и лесна употреба:

var feeling: string = “happy”;

Не е това!

TypeScript предоставя много други функции, за да улесни живота на програмиста.

Характеристики на TypeScript

Typescript има богат набор от функции и всяка версия идва с нови функции, за да направи разработката по-лесна от преди. Например с новата версия (4.0), някои допълнителни функции са променливи типове кортежи, персонализирани JSX фабрики, извеждане на свойство на клас от конструктори и т.н. Някои типични характеристики на TypeScript са:

  • Поддържа концепции за обектно-ориентирано програмиране като интерфейс, наследяване, клас. генерични лекарства
  • Ранно откриване на грешки
  • IDE поддръжка с проверка на синтаксиса и предложения
  • По-лесно за отстраняване на грешки, докато се въвежда
  • Транс-компилира в JavaScript
  • Използва се както за сървърни, така и за клиентски приложения
  • Поддръжка на различни платформи и браузъри
  • Поддържа всички JS библиотеки и разширения

Защо се нуждаем от TypeScript? (Предимства на TypeScript пред JavaScript)

Microsoft разработи и използва TypeScript в продължение на две години за своите вътрешни проекти, преди да го направи публичен през 2012 г. Те създадоха въведен JavaScript, защото беше по-лесно да се тества кодът за корпоративни приложения от производствен клас. Все още можете да използвате функциите за динамично въвеждане, но също така да въвеждате променливите, когато наистина е необходимо.

  Как да излезете дистанционно от Skype

Разгледайте кода по-долу:

var mynum  = //get from user;

addten(number){

return number + 10;

}

Очакваме резултатът винаги да е число. Но какво ще стане, ако потребител даде „овце“? Резултатът ще бъде sheep10 – в идеалния случай трябва да кажем на потребителя, че тази операция не е възможна!

Освен това, когато имате налична информация за типа, текстовите редактори и IDE стават по-удобни за използване и спестяват грешки по време на изпълнение. Също така е по-лесно да преработите кода на по-късен етап.

Това означава ли, че не се нуждаем от JavaScript? (Недостатъци на TypeScript пред JavaScript)

Можете да мислите за TypeScript като за разширение на JavaScript, но със сигурност не за заместител.

За по-малки парчета код, TypeScript може да се превърне в излишък – инсталирането, компилирането, транскомпилирането ще бъдат излишни. С JavaScript можете просто да въведете своя скрипт в HTML и той ще работи. Също така е по-лесно да отстраните грешки в кода, когато можете просто да опреснявате браузъра всеки път, когато промените нещо.

Пряко сравнение

Сега, след като разбрахме характеристиките и предимствата както на TypeScript, така и на JavaScript, нека преминем през още сравнения:

TypeScript
JavaScript
Въведен език, който улавя грешки при компилиране на ранен етап
Можете да откриете грешки по време на изпълнение
Подходящ за големи проекти, тъй като подобрява поддръжката и четливостта на кода
Тъй като се добавя повече код, става трудно за тестване и отстраняване на грешки, поради което JS е подходящ за малки проекти
Надмножество на JS, т.е. функции като обектно ориентиране, проверка на типа и др
Скриптов език, който поддържа динамично създаване на уеб съдържание
Изисква инсталиране на компилатор и настройка на конфигурацията
Няма нужда от монтаж; JS кодът може да бъде написан директно в браузър с помощта на , запазвате го като HTML – ще видите резултатите! След това можете да надграждате върху него, за да създадете по-динамично съдържание.

Освен това, когато работите върху широкомащабно приложение, познаването на JavaScript ще ви помогне лесно да преминете към TypeScript.

Въпреки това, от гледна точка на кариерата и заплащането, като a Разработчик на TypeScript, ще бъдете по-гъвкави и удобни както с JS, така и с TS проекти – така че определено по-добър актив на пазара. Обикновено разработчиците на TypeScript получават между $110k-$147k, докато JS разработчиците получават около $63k-$118k на година.