Dalam JavaScript, kecuali nombor, rentetan, boolean, null dan undefined, semua nilai lain adalah objek. Objek boleh diisytiharkan secara langsung melalui literal atau dicipta menggunakan operator baharu. Tidak seperti bahasa Java, sifat dalam objek JavaScript boleh ditambah atau dipadamkan secara dinamik pada masa yang sama, sifat dalam objek juga boleh menjadi rentetan kosong:
//rentetan kosong dibenarkan sebagai harta objek
var o2 = {"":88, "p":99};
console.log(o2);//Objek { =88, p=99}
//untuk fungsi pembina, operasi "baharu" mengembalikan objek.
fungsi Komputer(x, y) {
ini.x = x;
ini.y = y;
}
var c = Komputer baharu(126, 163);
console.log(c);//Komputer {x=126, y=163}
var c2 = Komputer baharu(126);//nilai parameter yang tiada akan "tidak ditentukan"
console.log(c2);//Komputer {x=126, y=undefined}
c.z = 66;
console.log(c);//Komputer {x=126, y=163, z=66}
padam c.y;
console.log(c);//Komputer {x=126, z=66}
Jika fungsi yang digunakan semasa menggunakan operator baharu untuk mencipta objek baharu bukanlah pembina kelas, tetapi hanya fungsi biasa, JavaScript akan mengembalikan objek kosong selepas melaksanakan fungsi:
Harta objek
Objek dalam JavaScript mempunyai 3 sifat berikut:
1.prototaip. Rujukan, menunjuk ke objek prototaip Object. Sifat dalam objek prototaip boleh diwarisi oleh Object.
2.kelas. Rentetan yang mewakili nama kelas Objek.
3.boleh dipanjangkan. Nilai boolean yang menunjukkan sama ada penambahan dinamik sifat dibenarkan dalam Objek. Sifat ini hanya sah dalam ECMAScript 5.
Atribut harta
Harta dalam Objek juga mempunyai 3 atribut:
1.boleh ditulis. Sama ada harta itu boleh ditulis.
2.terbilang. Sama ada harta itu akan dikira apabila menggunakan penyata untuk/dalam.
3. boleh dikonfigurasikan. Sama ada sifat harta ini boleh diubah suai dan sama ada harta itu boleh dipadamkan.