Wajah menggunakan javascript prototipe vs kelas

Pada bahasa pemrogramaman seperti Java atau C# konsep class cukup familiar bahkan penggunaan class cukup mendominasi dalam pembuatan aplikasi Java atau C#

Class bisa didefinisikan sebagai kumpulan variabel dan method yang dipakai sebagai blueprint atau rancangan untuk membuat sebuah object(bukan JavaScript Object)

Apakah JavaScript play memiliki kelas konsep?

Asalnya JavaScript tidak memiliki kelas konsep, karena JavaScript bukan bahasa Pemrograman Berorientasi Objek (OOP) tetapi bahasa berbasis Prototype

Namun pada tahun 2015, ES6 memperkenalkan kelas konsep, yang mirip dengan kelas pada bahasa OOP meskipun tidak benar-benar mirip

Kelas sintaks untuk JavaScript

garis besar

Copy

9 console.log(`Hi my name is ${this.name}`);

13const blueDino = new Dino('brachio');

14const redDino = new Dino('t-rex');

Pada kode di atas kita membuat dua object/instance baru yaitu blueDino & redDino yang keduanya memiliki 'karakter' yang sama karena sama-sama menerapkan blueprint dari class Dino

Instance adalah sebuah perwujudan objek dari kelas, memiliki variabel dan metode yang sama dan sesuai dengan apa yang digambarkan oleh kelas

Wajah menggunakan javascript prototipe vs kelas

1. Pembangun
metode khusus yang dieksekusi sebelum metode yang lain

2. bidang
variabel yang dideklarasikan di dalam class

3. metode
function yang dideklarasikan di dalam class

4. Pengambil/Penyetel
method yang digunakan untuk mengakses value dan mengubah value di dalam class

kontur

________satu_______

Untuk saat ini kita cukup mengetahui bahwa JavaScript memiliki konsep class meskipun tidak benar-benar mirip dengan class pada bahasa OOP seperti Java atau C#

Kita juga belajar bahwa kita tidak dapat menambahkan properti baru ke konstruktor objek yang sudah ada

kontur

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Object</h2>

<p> Anda tidak dapat menambahkan properti baru ke fungsi konstruktor. </p>
<p id="demo"></p>

<script>
function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
}

Person.nationality = "English";

var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");

document.getElementById("demo").innerHTML =
"Kebangsaan ayah saya adalah " + myFather.nationality; 
</script>

</body>
</html>

Untuk menambahkan properti baru ke konstruktor, Anda harus menambahkannya dengan fungsi konstruktor

kontur

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Object</h2>

<p id="demo"></p>

<script>
function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
  this.nationality = "English";
}

var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");

document.getElementById("demo").innerHTML =
"Kebangsaan ayah saya adalah " + myFather.nationality + ". Kebangsaan ibu saya adalah " + myMother.nationality;
</script>

</body>
</html>

Bagian Barang

Warisan Prototipe

Semua objek JavaScript disempurnakan properti dan metode dari prototipe

  • Objek tanggal direnovasi dari Tanggal. prototipe
  • Objek array dihapus dari Array. prototipe
  • Objek orang dihapus dari Orang. prototipe

objek. prototipe berada di bagian atas prototipe pewarisan pewarisan

Objek tanggal, objek Array, dan objek Orang yang diwariskan dari Objek. prototipe

Menambahkan Properties dan Metode ke Objek

Terkadang kita ingin menambahkan properti (atau metode) baru ke semua objek yang ada dengan tipe tertentu

Terkadang kita juga ingin menambahkan properti (atau metode) baru ke objek konstruktor

Menggunakan prototipe Properti

Properti prototipe JavaScript memungkinkan untuk menambahkan properti baru ke objek konstruktor

kontur

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Object</h2>

<p id="demo"></p>

<script>
function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
}

Person.prototype.nationality = "English";

var myFather = new Person("John", "Doe", 50, "blue");
document.getElementById("demo").innerHTML =
"Kebangsaan ayah saya adalah " + myFather.nationality; 
</script>

</body>
</html>
_

Properti prototype JavaScript juga memungkinkan untuk menambahkan metode baru ke objek konstruktor

kontur

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Objects</h2>

<p id="demo"></p>

<script>
function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
}

Person.prototype.name = function() {
  return this.firstName + " " + this.lastName
};

var myFather = new Person("John", "Doe", 50, "blue");
document.getElementById("demo").innerHTML =
"Ayahku adalah " + myFather.name(); 
</script>

</body>
</html>

Hanya modifikasi prototipe Anda sendiri. Jangan pernah memodifikasi prototype object standar JavaScript