tutorial pengembangan web terbaru
 

JavaScript benda


Objek JavaScript

Dalam JavaScript, objek adalah raja. Jika Anda memahami objek, Anda memahami JavaScript.

Dalam JavaScript, hampir "segalanya" adalah obyek.

  • Booleans dapat objek (atau data primitif diperlakukan sebagai objek)
  • Numbers dapat objek (atau data primitif diperlakukan sebagai objek)
  • Strings dapat objek (atau data primitif diperlakukan sebagai objek)
  • Dates selalu objek
  • Maths selalu objek
  • Regular ekspresi selalu objek
  • Arrays selalu objek
  • Functions selalu objek
  • Objects benda

Dalam JavaScript, semua nilai, kecuali nilai primitif, adalah objek.

Nilai-nilai primitif adalah: string ("John Doe") , angka (3.14), true, false, null , dan undefined .


Objek adalah Variabel Mengandung Variabel

variabel JavaScript dapat berisi nilai-nilai tunggal:

Contoh

var person = "John Doe";
Cobalah sendiri "

Objek adalah variabel juga. Tapi benda dapat berisi banyak nilai.

Nilai-nilai yang ditulis sebagai nama: pasangan nilai (nama dan nilai dipisahkan oleh titik dua).

Contoh

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Cobalah sendiri "

Sebuah objek JavaScript adalah kumpulan nilai-nilai yang bernama


obyek Properti

Nilai-nilai yang bernama, di objek JavaScript, disebut sifat.

Milik Nilai
firstName John
lastName Doe
age 50
eyeColor blue

Benda ditulis sebagai pasangan nilai nama yang mirip dengan:

  • array asosiatif di PHP
  • Kamus dengan Python
  • tabel hash di C
  • peta hash di Jawa
  • Hash di Ruby dan Perl

Metode objek

Metode adalah tindakan yang dapat dilakukan pada objek.

properti obyek dapat menjadi nilai primitif, benda-benda lain, dan fungsi.

Sebuah metode objek adalah properti objek yang berisi definisi fungsi.

Milik Nilai
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

objek JavaScript adalah kontainer untuk nilai-nilai yang bernama, disebut properti dan metode.

Anda akan belajar lebih banyak tentang metode dalam bab-bab berikutnya.


Membuat Obyek JavaScript

Dengan JavaScript, Anda dapat menentukan dan membuat objek sendiri.

Ada berbagai cara untuk membuat objek baru:

  • Mendefinisikan dan menciptakan satu objek, menggunakan obyek literal.
  • Mendefinisikan dan menciptakan satu objek, dengan baru kata kunci.
  • Mendefinisikan konstruktor objek, dan kemudian membuat objek dari jenis dibangun.

Di ECMAScript 5, sebuah objek juga dapat dibuat dengan fungsi Object.create() .


Menggunakan Obyek Literal

Ini adalah cara termudah untuk membuat Obyek JavaScript.

Menggunakan objek literal, Anda berdua menentukan dan membuat obyek dalam satu pernyataan.

Sebuah literal objek adalah daftar nama: pasangan nilai (seperti age:50 ) di dalam kurung kurawal {} .

Contoh berikut membuat objek JavaScript baru dengan empat sifat:

Contoh

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Cobalah sendiri "

Spasi dan jeda baris yang tidak penting. Definisi objek dapat span beberapa baris:

Contoh

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};
Cobalah sendiri "

Menggunakan JavaScript Kata Kunci baru

Contoh berikut juga membuat objek JavaScript baru dengan empat sifat:

Contoh

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Cobalah sendiri "

Kedua contoh di atas melakukan hal yang sama. Tidak perlu menggunakan new Object() .
Untuk kesederhanaan, mudah dibaca dan kecepatan eksekusi, menggunakan yang pertama (objek metode literal).


Menggunakan Constructor Obyek

Contoh di atas dibatasi dalam banyak situasi. Mereka hanya membuat satu objek.

Kadang-kadang kita ingin memiliki "jenis objek" yang dapat digunakan untuk membuat banyak objek dari satu jenis.

Cara standar untuk membuat "jenis objek" adalah dengan menggunakan fungsi objek konstruktor:

Contoh

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
Cobalah sendiri "

Fungsi di atas (orang) adalah konstruktor objek.

Setelah Anda memiliki konstruktor objek, Anda dapat membuat objek baru dari jenis yang sama:

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

The this Kata Kunci

Dalam JavaScript, hal yang disebut this , adalah objek yang "memiliki" kode JavaScript.

Nilai this , bila digunakan dalam fungsi, adalah objek yang "memiliki" fungsi.

Nilai this , bila digunakan dalam suatu objek, adalah objek itu sendiri.

The this kata kunci dalam konstruktor objek tidak memiliki nilai. Hal ini hanya pengganti objek baru.

Nilai this akan menjadi objek baru ketika konstruktor digunakan untuk membuat suatu objek.

Catatan bahwa ini bukan variabel. Ini adalah kata kunci. Anda tidak dapat mengubah nilai this .


Built-in Konstruktor JavaScript

JavaScript memiliki built-in konstruktor untuk objek asli:

Contoh

var x1 = new Object();    // A new Object object
var x2 = new String();    // A new String object
var x3 = new Number();    // A new Number object
var x4 = new Boolean()    // A new Boolean object
var x5 = new Array();     // A new Array object
var x6 = new RegExp();    // A new RegExp object
var x7 = new Function();  // A new Function object
var x8 = new Date();      // A new Date object
Cobalah sendiri "

The Math() objek tidak ada dalam daftar tersebut. Matematika adalah obyek global. Kata kunci yang baru tidak dapat digunakan pada Matematika.

Tahukah kamu?

Seperti yang Anda lihat, JavaScript memiliki objek versi dari tipe data primitif String, Number, dan Boolean.

Tidak ada alasan untuk membuat objek yang kompleks. nilai primitif mengeksekusi lebih cepat.

Dan tidak ada alasan untuk menggunakan baru Array() . Gunakan literal array, bukan: []

Dan tidak ada alasan untuk menggunakan baru RegExp() . Gunakan literal pola gantinya: /()/

Dan tidak ada alasan untuk menggunakan baru Function() . Gunakan ekspresi fungsi bukan: function () {} .

Dan tidak ada alasan untuk menggunakan new Object() . Gunakan literal objek bukan: {}

Contoh

var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object
Cobalah sendiri "

Objek JavaScript yang Diubah

Benda yang bisa berubah: Mereka ditangani oleh referensi, tidak berdasarkan nilai.

Jika y adalah obyek, pernyataan berikut tidak akan membuat salinan y:

var x = y;  // This will not create a copy of y.

Objek x bukan merupakan salinan dari y. Hal ini y. Kedua x dan y poin ke objek yang sama.

Setiap perubahan y juga akan berubah x, karena x dan y adalah objek yang sama.

Contoh

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}

var x = person;
x.age = 10;           // This will change both x.age and person.age
Cobalah sendiri "