Je Javascript objektově orientovaný Charakteristika objektově orientovaného

Obsah:

Anonim

Úvod do JavaScriptu

JavaScript je také zkratkou, protože JS je vysoce interpretovaný programovací jazyk. JavaScript je jednou ze tří hlavních technologií World Wide Web. JavaScript umožňuje vytvářet interaktivní webové stránky jiné než statické webové stránky. Většina webových stránek používá JS pro vývoj a hlavní webové prohlížeče mají JavaScript engine k jeho provedení. JavaScript je lehký interpretovaný programovací jazyk založený na prototypech s objektově orientovanými schopnostmi. JavaScript se používá pro vývoj webových aplikací na straně klienta, je zahrnut do souboru HTML nebo na něj odkazuje soubor HTML, takže kód je vykreslen v prohlížeči. V současné době se JavaScript nepoužívá pouze pro vývoj na straně klienta, ale také pro programování na straně serveru, existují různé rámce, které jsou vytvořeny pomocí JavaScriptu, jako je Node.js. Node.js má mnoho modulů pro vývoj mikroprocesů, API, databázových připojení a mnoho dalších. Mechanismus JavaScript na straně klienta poskytuje oproti tradičním skriptům CGI mnoho výhod. JavaScript lze použít k jednání na základě událostí iniciovaných uživatelem, jako je kliknutí na tlačítka, navigace, vyskakovací zprávy atd. A používá se také pro ověření na straně klienta. můžete například před odesláním do webového serveru ověřit pole jako e-mail, heslo atd. ve formuláři.

Je JavaScript objektově orientovaný jazyk?

Téma, zda je JavaScript čistým objektově orientovaným jazykem nebo ne, je vždy diskutabilní. Teď si ukážeme, že je to objektově orientovaný Javascript, protože někteří říkají, že to není objektově orientovaný, protože nemá žádné třídy a nemůže implementovat koncepty OOP, jako je dědičnost nebo zapouzdření, a někteří říkají, že se jedná o objektově orientovaný jazyk. Před projednáním tohoto tématu objektově orientovaného JavaScriptu bychom měli pochopit, že co dělá z programovacího jazyka objektově orientovaný programovací jazyk?

Existuje několik důležitých charakteristik objektově orientovaných jazyků:

  • Polymorfismus:

Schopnost objektu mít mnoho podob. Například funkce může být přetížena stejným názvem, ale různými parametry.

  • Zapouzdření:

Vazba všech dat a operací dohromady a jejich uchovávání ve třídě.

  • Dědictví:

Podřízená třída může být odvozena z nadřazené třídy se všemi vlastnostmi z nadřazené třídy a některými vlastními vlastnostmi.

Tyto výše uvedené tři principy tvoří základ objektově orientovaného jazyka.

JavaScript tedy nemusí dodržovat přesné paradigma Object-Oriented Principles, ale JavaScript má různé způsoby implementace OOP.we můžeme ukázat, jak JavaScript dodržuje Object-Oriented Principles pomocí několika příkladů:

Zapouzdření:

Myšlenka zapouzdření spočívá v tom, že k datům objektu by neměl být přistupován přímo, namísto toho by měl být zpřístupňován pomocí některých metod. Ale v JavaScriptu neexistuje koncept třídy a objektů, které implementují zapouzdření dvěma způsoby, a to funkcí Rozsah a Uzavření

1) Rozsah funkce:

Toto není nic jiného než deklarace proměnných uvnitř funkcí. Rozsah proměnných bude tedy omezen pouze na funkce a jiné objekty k proměnným nebudou mít přístup. Vezměme si příklad, abychom demonstrovali rozsah funkce.

funkční test()
(
var value = „Ahoj!“;
alert (value) // „Hello!“;
)
výstraha (hodnota) // chyba; hodnota není k dispozici mimo funkci.

2) Uzávěry:

Uzavření je vnitřní rozsah, který má přístup k proměnným deklarovaným mimo jeho blok, i když tyto proměnné vypadly z rozsahu. Ačkoli metody objektu nemohou přistupovat k jiným lokálním proměnným, vnitřní objekt má přístup k proměnným své nadřazené funkce. Vezměme si příklad, abychom tomu porozuměli.

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

Tímto způsobem můžeme deklarovat vnitřní objekty nebo metody, které skrývají data, a ty jsou přístupné pomocí nadřazených objektů.

Dědictví:

JavaScript podporuje dědičnost prostřednictvím konceptu s názvem Prototypová dědičnost umožňuje objektu JavaScript získat všechny nebo některé funkce z jiných objektů nebo nadřazených objektů.

1) Prototyp:

JavaScript je popisován jako jazyk založený na prototypech, aby objekt dědičnosti mohl mít prototypový objekt, který dědí metody a vlastnosti od jiných objektů. Prototypový objekt objektů může mít také prototypový objekt, který dědí metody a vlastnosti od svého nadřazeného objektu, a tak se tomu říká prototypový řetězec.

Výše uvedený obrázek ukazuje všechny vlastnosti vytvářeného objektu „zvíře“. Takže „jméno“ a „typ“ jsou vlastnosti objektu „zvíře“ a vlastnosti jako hodnotaOf, toString, toLocaleString atd. Jsou vlastnosti nadřazeného objektu, které jsou zděděny za zvířecí objekt. Viz obrázek níže, který ukazuje vlastnosti nadřazeného objektu pomocí vlastnosti proto.

Polymorfismus:

Poly znamená „mnoho“, morfismus znamená „formy“, polymorfismus není nic jiného než mít různé formy. V JavaScriptu je polymorfismus dosažen generickým, přetížením a strukturním podtypem.

1) Generika (parametrický polymorfismus):

Toto říká, že typ proměnné vůbec nezáleží, jsou zaměnitelné. Funkce, která definuje jeden nebo více parametrů parametrického polymorfního typu, nesmí o typech nic vědět, měla by se všemi považovat za stejná, protože se může přizpůsobit kterémukoli z těchto typů. Viz příklad níže

const data = x => y => y.concat (x);

data (3) ((1, 2)); // (1, 2, 3)

data („c“) ((„a“, „b“)); // („a“, „b“, „c“)

2) Přetížení (ad-hoc polymorfismus):

Přetížení v JavaScriptu je dosaženo pomocí as-hoc polymorfismu. Ad-hoc polymorfismus je druh polymorfismu, ve kterém lze polymorfní funkce aplikovat na argumenty několika typů, protože polymorfní funkce mohou označovat počet odlišných heterogenních implementací v závislosti na typech argumentů. Viz níže uvedený příklad

Operátor „+“ se používá několika způsoby, jako je přidání čísel, zřetězení řetězců atd.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

„Java“ + „skript“ = „JavaScript“

3) Strukturální subtypování (strukturální polymorfismus):

Strukturální polymorfismus říká, že různé typy jsou rovnocenné, například pokud jeden typ má všechny vlastnosti druhého typu spolu s některými dalšími vlastnostmi (po stejné struktuře)

Konstantní hmotnost = (hodnota: 100, data: true)

Konstantní rychlost = (hodnota: 200, data: false, foo: (1, 2, 3))

Rychlost je považována za podtyp hmotnosti.

Závěr - Je objekt Javascript orientován?

Když jsme diskutovali o objektově orientovaném Javascriptu, můžeme nyní dojít k závěru, že JavaScript je objektově orientovaný jazyk. Přestože nemá žádné skutečné třídy, stále je to Object-Oriented Language, protože se řídí základními koncepty Object-Oriented Principles. Jazyk tedy může být Object Oriented, pokud podporuje objekty i bez tříd.

Doporučené články

Toto byl průvodce objektově orientovaným Javascriptem. Zde jsme diskutovali základní pojmy a vlastnosti Javascriptu a objektově orientovaného. Můžete se také podívat na následující články:

  1. JavaScript vs VBScript
  2. Použití JavaScriptu
  3. JavaScript vs AngularJS
  4. JavaScript vs Node JS
  5. Komplexní průvodce objektem v Javě
  6. Objekt v Pythonu
  7. Příklady a jak generici pracují v C #