Типесцрипт вс Јавасцрипт – Разумевање разлике

Једно од често постављаних питања које добијам је која је разлика између ЈаваСцрипт-а и Типесцрипт-а?

Хајде да сазнамо…

Од тренутка када сте почели да кодирате, ЈаваСцрипт (ЈС) би био део свих ваших фронт-енд пројеката. Ако сте мало упознати са ЈС-ом, замислите ТипеСцрипт као ЈС плус неке додатне функције које вашу апликацију чине уреднијом и куцаном. ТипеСцрипт је Мицрософт развио као пројекат отвореног кода како би ЈС развој учинио ефикаснијим и рано ухватио грешке при компилацији.

У овом чланку ћемо разговарати о неким важним карактеристикама ЈаваСцрипт-а и ТипеСцрипт-а и разликама између оба скриптна језика.

Шта је ЈаваСцрипт?

ЈаваСцрипт се користи за скриптовање на страни клијента. Можете креирати скрипту на ХТМЛ страници или креирати датотеку са екстензијом .јс и укључити је у своју ХТМЛ датотеку. Уобичајени пример из стварног света где можете да видите ЈаваСцрипт је валидација странице за пријављивање, где вам се приказује грешка када је ваше корисничко име/лозинка нетачна.

Хајде да напишемо једноставан ЈС код и покренемо га у претраживачу:

Направите датотеку екампле.хтмл и додајте следећи код:

<script>

feeling = 'happy';

feeling = 23;

</script>

Овај једноставан код декларише променљиву и додељује јој вредност хаппи (стринг). Истој променљивој можемо доделити вредност другог типа (броја). ЈаваСцрипт се не би жалио на то и можемо да покренемо код у било ком претраживачу без икаквих проблема. Сада, хајде да добијемо вредност осећања од корисника:

Наш ХТМЛ ће изгледати овако:

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

а сценарио ће бити:

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

Осим ако не ставимо експлицитне провере у скрипту, ЈС ће прихватити било коју вредност од корисника и проследити је даље. Дакле, можете ставити било шта попут 234, @.#$%, итд. у променљиву осећаја.

  Како очистити слушалице и слушалице

Карактеристике ЈаваСцрипт-а

Из горе наведеног можемо уочити следеће карактеристике ЈаваСцрипт-а:

  • Слабо откуцани скриптни језик
  • Користи се за скриптовање на страни клијента и сервера (са ноде.јс).
  • Флексибилан и динамичан
  • Подржавају сви главни претраживачи
  • Лаган и интерпретиран

Ако сте заинтересовани да савладате ЈаваСцрипт, погледајте ово Удеми цоурсе.

Шта је ТипеСцрипт?

Апликација из стварног света ће имати много валидација и динамичких провера. За такве апликације, ЈаваСцрипт код ће у неком тренутку постати тежак за тестирање, углавном зато што нема провере типа. Док добијате вредности од корисника, важно је да их добијете на самом почетку. Овде се појављује ТипеСцрипт.

ТипеСцрипт је снажно откуцан и има компајлер који се жали ако не дефинишете тип променљиве.

И ЈаваСцрипт и ТипеСцрипт су у складу са ЕЦМАСцрипт спецификацијама за скриптни језик. Типесцрипт може да покрене сав ЈаваСцрипт код и подржава све његове библиотеке – зато се назива надскуп ЈаваСцрипт-а.

Инсталација ТипеСцрипт-а

Да бисмо извршили наш претходни код у ТипеСцрипт-у, потребно је да инсталирамо ТипеСцрипт компајлер користећи нпм пакет (ако имате чвор јс).

npm install -g typescript

или га преузмите директно са званичног Мицрософт страница за преузимање. Такође можете користити ТС игралиште да видите како се код транс-компајлира из тс у јс.

Када се ово уради, можете да конфигуришете подешавања пројекта у тсцонфиг.јсон и користите било који ИДЕ или уређивач текста да напишете ТипеСцрипт код и сачувате га као .тс.

И даље се можете извући тако што не дефинишете тип променљиве, а ТипеСцрипт може да закључи тип података. Међутим, добићете грешку ‘феелинг’ ако дате било шта друго осим првог коришћеног типа (у нашем случају, Стринг) – током саме компилације.

Увек је уредно да код има напомену о типу ради одржавања и лакоће употребе:

var feeling: string = “happy”;

То није то!

ТипеСцрипт пружа многе друге функције које олакшавају живот програмера.

  Поправи грешку 98 СМС Терминатион Дениед

Карактеристике ТипеСцрипт-а

Типесцрипт има богат скуп функција и свако издање долази са новим функцијама које олакшавају развој него раније. На пример, са новим издањем (4.0), неке додатне функције су променљиви типови тупле-а, прилагођене ЈСКС фабрике, закључивање својстава класе из конструктора, итд. Неке типичне карактеристике ТипеСцрипт-а су:

  • Подржава концепте објектно оријентисаног програмирања као што су интерфејс, наслеђивање, класа. генерички
  • Рано откривање грешака
  • ИДЕ подршка са провером синтаксе и предлозима
  • Лакше за отклањање грешака док се куца
  • Транс-компилира у ЈаваСцрипт
  • Користи се за апликације на страни сервера и клијента
  • Подршка за више платформи и више претраживача
  • Подржава све ЈС библиотеке и екстензије

Зашто нам је потребан ТипеСцрипт? (Предности ТипеСцрипт-а у односу на ЈаваСцрипт)

Мицрософт је развио и користио ТипеСцрипт две године за своје интерне пројекте пре него што га је објавио јавно 2012. Направили су откуцани ЈаваСцрипт јер је било лакше тестирати код за пословне апликације производног нивоа. И даље можете да користите функције динамичког куцања, али и да куцате променљиве када је то заиста потребно.

Размотрите доњи код:

var mynum  = //get from user;

addten(number){

return number + 10;

}

Очекивали бисмо да резултат увек буде број. Али, шта ако корисник даје „овце“? Излаз ће бити схееп10 – у идеалном случају, морамо рећи кориснику да ова операција није могућа!

Такође, када имате доступне информације о типу, уређивачи текста и ИДЕ постају лакши за коришћење и чување грешака у току извршавања. Такође је лакше рефакторисати код касније.

Да ли то значи да нам не треба ЈаваСцрипт? (Недостаци ТипеСцрипт-а у односу на ЈаваСцрипт)

Можете замислити ТипеСцрипт као проширење ЈаваСцрипт-а, али свакако не као замену.

За мање делове кода, ТипеСцрипт може да постане додатни трошак – инсталирање, компајлирање, транс-компајлирање ће бити сувишни. Са ЈаваСцрипт-ом, можете једноставно да откуцате своју скрипту у ХТМЛ-у и она ће функционисати. Такође је лакше отклонити грешке у коду када можете једноставно да освежите претраживач сваки пут када нешто промените.

  6 алата АИ Схоппинг Ассистант који ће вам помоћи да купујете мудро

Упоредно поређење

Сада када смо разумели карактеристике и предности ТипеСцрипт-а и ЈаваСцрипт-а, хајде да прођемо кроз још поређења:

ТипеСцрипт
ЈаваСцрипт
Откуцани језик који рано хвата грешке у компилацији
Можете открити грешке током рада
Погодно за велике пројекте јер побољшава одржавање и читљивост кода
Како се додаје више кода, постаје тешко тестирати и отклањати грешке, тако да је ЈС погодан за мале пројекте
Суперскуп ЈС-а, тј. функције као што су објектна оријентација, провера типа и још много тога
Скриптни језик који подржава креирање динамичког веб садржаја
Захтева инсталацију компајлера и подешавање конфигурације
Нема потребе за било каквом инсталацијом; ЈС код се може директно написати у претраживачу помоћу ознаке <сцрипт>
Све .тс датотеке се конвертују у .јс датотеке пре извршења; познат као транс-компилација
Програмери могу директно укључити .јс датотеке у ХТМЛ датотеке за извршење помоћу ознаке <срц>.
Моћан и интуитиван са богатим функцијама као што су модули, генерици, интерфејси
Погодно за једноставне веб апликације које не захтевају напредне функције
Користи се за скриптовање на страни сервера и клијента
Једноставан за коришћење за скриптовање на страни клијента, али постаје тежак и сложен за скриптовање на страни сервера
Потребно је време да се изврши због корака компилације
Није потребна компилација, па се извршава брже
Подржава и статичко и динамичко куцање
Подржава само динамичко куцање
Можемо да наведемо напомену типа као:

вар осећај: стринг = “срећан”;

Напомене о типовима се не могу специфицирати јер не можемо дефинисати типове.

Закључак

Из перспективе учења, ЈаваСцрипт би могао бити ваш природан избор. Отворите датотеку, укуцате нешто унутар ознака <сцрипт>, сачувате је као ХТМЛ – видећете резултате! Затим га можете надограђивати да бисте креирали динамичнији садржај.

Даље, када радите на апликацији великих размера, познавање ЈаваСцрипта ће вам помоћи да лако пређете на ТипеСцрипт.

Међутим, из перспективе каријере и плате, као а ТипеСцрипт програмер, бићете флексибилнији и угоднији са ЈС и ТС пројектима – тако да је дефинитивно боља предност на тржишту. Типично, ТипеСцрипт програмери су плаћени између 110.000 и 147.000 долара, док су ЈС програмери плаћени око 63.000 до 118.000 долара годишње.