Увод у ЈаваСцрипт
ЈаваСцрипт такође скраћује јер је ЈС интерпретирани програмски језик високог нивоа. ЈаваСцрипт је једна од три главне технологије светске мреже. ЈаваСцрипт омогућава израду интерактивних веб страница које нису статичне. Већина веб локација користи ЈС за развој, а велики веб прегледачи имају ЈаваСцрипт енгине да га изврше. ЈаваСцрипт је лаган, слабо типован, прототипирани интерпретирани програмски језик са објектно оријентисаним могућностима. ЈаваСцрипт се користи за развој веб апликација на страни клијента, укључује га ХТМЛ референца или позива на њега тако да се код приказује у прегледачу. Данас се ЈаваСцрипт не користи само за развој на страни клијента, већ се користи и за програмирање на страни сервера, постоје различити оквири који су изграђени користећи ЈаваСцрипт као што је Ноде.јс. Ноде.јс има много модула за развој микросервиса, АПИ-ја, повезивања са базама података много више. Механизам на страни клијента пружа бројне предности у односу на традиционалне ЦГИ скрипте. ЈаваСцрипт се може користити за дејство засновано на догађајима које је покренуо корисник, попут клика на дугмад, навигације, скочне поруке итд., А користи се и за проверу на страни клијента. на пример, можете да потврдите поља попут е-поште, лозинке итд. на обрасцу пре него што га пошаљете веб серверу.
Да ли је ЈаваСцрипт објектно оријентисан језик?
Тема да ли је ЈаваСцрипт чисти објектно оријентисан језик или не, увек је дискутабилна. Дакле, сада ћемо разјаснити да је Јавасцрипт објектно оријентисан јер неки кажу да није објектно оријентисан јер нема класе и не може имплементирати ООП концепте попут насљеђивања или енкапсулације, а неки кажу да је то објектно оријентисан језик. Пре него што се расправља о овој ЈаваСцрипт објектно оријентисаној теми, требало би разумети да шта програмски језик чини објектно оријентисаним програмским језиком?
Постоји неколико важних карактеристика објектно оријентисаних језика:
-
Полиморфизам:
Способност објекта да поприми различите облике. На пример, функција може бити преоптерећена истим именом, али различитим параметрима.
-
Инкапсулација:
Повезивање свих података и операција заједно и чување у класи.
-
Наслеђивање:
Дечја класа може бити изведена из родитељске класе са свим карактеристикама матичне класе и неким својствима.
Наведена три принципа чине основу објектно оријентисаног језика.
Дакле, ЈаваСцрипт можда не следи тачну парадигму објектно оријентисаних принципа, али ЈаваСцрипт има различите начине примене ООП.ве може демонстрирати како ЈаваСцрипт следи принципе оријентисане на објектима узимањем неких примера:
Инкапсулација:
Идеја енкапсулације је да подацима објекта не треба директно приступити, већ им треба приступити неким методама. Али у ЈаваСцрипт-у не постоји концепт класе и објеката који спроводе енкапсулацију на два начина, а то су опсег функција и затварање
1) Опсег функције:
Ово није ништа друго него проглашавање променљивих унутар функција. Дакле, опсег променљивих биће ограничен само на функције и други објекти не могу да приступе променљивим. Узмимо пример да покажемо обим функције.
тест функције()
(
вар валуе = "Поздрав!";
упозорење (вредност) // “Поздрав!”;
)
упозорење (вредност) // грешка; вредност није доступна изван функције.
2) Затварање:
Затварање је унутрашњи опсег који има приступ променљивим декларираним изван свог блока, чак и након што те променљиве испадну из обима. Иако методе објекта не могу приступити другим локалним варијаблама, унутрашњи објект има приступ варијаблама своје родитељске функције. Узмимо пример да бисмо то разумели.
var person = (
var name = “JavaScript”;
return (
setName : function(value)(
name = value;
),
getName : function()(
return name;
)
);
);
alert(person.name) //JavaScript
person.setName(“Java”)
alert(person.name) //Java
Дакле, на овај начин можемо прогласити унутрашње објекте или методе за скривање података, а њима се може приступити помоћу надређених објеката.
Наслеђивање:
ЈаваСцрипт подржава насљеђивање путем концепта који се назива Прототипал наследство омогућава ЈаваСцрипт објекту да добије све или неке функције од других објеката или надређених објеката.
1) прототип:
ЈаваСцрипт је описан као прототип заснован на језику, да би се обезбедио објект наслеђивања може имати прототипни објект који наслеђује методе и својства од других објеката. Објект прототипа објекта такође може имати објект прототипа који наслеђује методе и својства од свог надређеног објекта и тако даље, то се назива прототипни ланац.
Слика изнад показује сва својства објекта „животиња“ који се ствара. Дакле, „име“ и „тип“ су својства објекта „животиња“, а својства попут валуеОф, тоСтринг, тоЛоцалеСтринг итд. Су својства родитељског објекта која се наслеђују на животињски објект. Погледајте доњу слику која приказује својства родитељског објекта користећи протокол својства.
Полиморфизам:
Поли значи „много“, морфизам значи „форме“, полиморфизам није ништа друго него различити облици. У ЈаваСцрипт полиморфизам се постиже генеричким, преоптерећењем, структурним подтиповањем.
1) Генерички (параметрични полиморфизам):
Ово каже да врста променљиве уопште није битна, да су заменљиве. Функција која дефинише један или више параметара параметричног полиморфног типа не сме ништа да зна о типовима, требало би да их све третира као исте, јер се може прилагодити било којој врсти. Погледајте доњи пример
подаци цонст = к => и => и.цонцат (к);
подаци (3) ((1, 2)); // (1, 2, 3)
подаци ("ц") (("а", "б")); // („а“, „б“, „ц“)
2) Преоптерећење (ад-хоц полиморфизам):
Преоптерећење ЈаваСцрипт-ом постиже се коришћењем ас-хоц полиморфизма. Ад-хоц полиморфизам је врста полиморфизма у којој се полиморфне функције могу применити на аргументе више врста, јер полиморфне функције могу означавати број различитих хетерогених имплементација у зависности од врсте аргумената. Погледајте ниже наведени пример
Оператор "+" користи се на неколико начина као што су додавање бројева, спајање жице итд.
1 + 2 = 3
1, 2 + 2, 3 = 3, 5
„Јава“ + „Сцрипт“ = „ЈаваСцрипт“
3) Структурно подтипизирање (Структурни полиморфизам):
Структурални полиморфизам каже да су различити типови еквивалентни, на пример ако један тип има сва својства другог типа, заједно са неким додатним својствима (пратећи исту структуру)
Тежина = = вредност: 100, подаци: тачно)
Цонст спеед = (вредност: 200, подаци: фалсе, фоо: (1, 2, 3))
Брзина се сматра подтипом тежине.
Закључак - Да ли је оријентисан ЈаваСцрипт објект?
Као што смо расправљали о објектно оријентисаном Јавасцрипту, сада можемо закључити да је ЈаваСцрипт објектно оријентисан језик. Иако нема праве класе, то је ипак објектно оријентисан језик јер слиједи основне концепте објектно оријентисаних принципа. Дакле, језик може бити објектно оријентисан ако подржава објекте чак и без класа.
Препоручени чланци
Ово је водич за Да ли је Јавасцрипт објектно оријентисан. Овде смо расправљали о основним концептима и карактеристикама Јавасцрипта и Објектно оријентисаних. Такође можете погледати следеће чланке:
- ЈаваСцрипт вс ВБСцрипт
- Употреба ЈаваСцрипт-а
- ЈаваСцрипт вс АнгуларЈС
- ЈаваСцрипт вс Ноде ЈС
- Свеобухватни водич за објекте на Јави
- Објект у Питхон-у
- Примери и како генеричари раде у Ц #