JavaScript ES5
- Halaman Sebelumnya Versi JS
- Halaman Berikutnya JS 2015 (ES6)
Apakah ECMAScript 5 adalah apa?
ECMAScript 5 juga disebut ES5 dan ECMAScript 2009.
Bagian ini memperkenalkan beberapa fitur paling penting ES5.
Fitur ECMAScript 5
Ini adalah fitur baru yang dirilis pada tahun 2009:
- "use strict" perintah
- String.trim()
- Array.isArray()
- Array.forEach()
- Array.map()
- Array.filter()
- Array.reduce()
- Array.reduceRight()
- Array.every()
- Array.some()
- Array.indexOf()
- Array.lastIndexOf()
- JSON.parse()
- JSON.stringify()
- Date.now()
- Properti Getter dan Setter
- Properti dan Metode Objek Baru
Perubahan sintaks ECMAScript 5
- Akses properti string [ ]
- Koma di akhir ekspresi array dan objek
- Lambang string berbaris
- Kata-reservasi yang digunakan sebagai nama properti
"use strict" perintah
"use strict
"Definisi kode JavaScript harus dijalankan dalam mode 'strict'."
Contoh, dengan mode yang ketat, variabel yang belum dideklarasikan tidak dapat digunakan.
Anda dapat menggunakan mode yang ketat di semua program. Ini dapat membantu Anda menulis kode yang lebih jelas, seperti melindungi Anda dari penggunaan variabel yang belum dideklarasikan.
"use strict
"Hanya ekspresi string. Browser yang lama yang tidak mengerti mereka tidak akan melempar kesalahan."
Baca Mode JS yang ketat Baca lebih banyak di sini.
String.trim()
String.trim()
Menghapus spasi di kedua ujung string.
Contoh
var str = " Hello World! "; alert(str.trim());
Silakan Metode String JS Baca lebih banyak di sini.
Array.isArray()
isArray()
Method ini memeriksa apakah objek adalah array.
Contoh
function myFunction() { var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = document.getElementById("demo"); x.innerHTML = Array.isArray(fruits); }
Silakan JS Array Baca lebih banyak di sini.
Array.forEach()
forEach()
Method ini dipanggil sekali untuk setiap elemen di dalam array.
Contoh
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.map()
Contoh ini mengalikan setiap nilai di dalam array dengan 2:
Contoh
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.filter()
Pada contoh ini, akan dibuat array baru dengan elemen yang nilai nya lebih besar dari 18:
Contoh
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.reduce()
Contoh ini menentukan total seluruh bilangan di dalam array:
Contoh
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.reduceRight()
Contoh ini juga untuk menentukan total seluruh bilangan dalam array:
Contoh
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.every()
Contoh ini memeriksa apakah semua nilai melebihi 18:
Contoh
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.some()
Contoh ini memeriksa apakah beberapa nilai melebihi 18:
Contoh
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.some(myFunction); function myFunction(value) { return value > 18; }
Silakan Metode iterasi array JS pelajari lebih lanjut.
Array.indexOf()
Mencari nilai elemen dalam array dan mengembalikan posisinya:
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
Silakan Metode iterasi array JSpelajari lebih lanjut.
Array.lastIndexOf()
Array.lastIndexOf()
Dengan Array.indexOf()
Dengan demikian, tetapi mencari dari ujung akhir array.
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
Silakan Metode iterasi array JS pelajari lebih lanjut.
JSON.parse()
Penggunaan umum JSON adalah untuk menerima data dari server Web。
Buat gambaran, Anda menerima string teks ini dari server Web:
'{"name":"Bill", "age":62, "city":"Seatle"}'
Fungsi JavaScript JSON.parse()
Digunakan untuk mengonversi teks ke objek JavaScript:
var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');
Silakan kunjungi Panduan JSON pelajari lebih lanjut.
JSON.stringify()
Penggunaan umum JSON adalah untuk mengirim data ke server Web。
Ketika mengirim data ke server Web, data harus berupa string。
Buat gambaran, kami memiliki objek ini di JavaScript:
var obj = {"name":"Bill", "age":62, "city":"Seatle"};
Gunakan fungsi JavaScript JSON.stringify() untuk mengonversikannya ke string。
var myJSON = JSON.stringify(obj);
Hasilnya akan menjadi string yang mengikuti standar representasi JSON。
myJSON sekarang adalah string, siap untuk dikirim ke server:
Contoh
var obj = {"name":"Bill", "age":62, "city":"Seatle"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;
Silakan kunjungi Panduan JSON pelajari lebih lanjut.
Date.now()
Date.now() mengembalikan milidetik sejak tanggal nol (1 Januari 1970 00:00:00:00).
Contoh
var timInMSs = Date.now();
Date.now()
mengembalikan nilai yang sama seperti yang dijalankan di objek Date dengan getTime().
Silakan Tanggal JS pelajari lebih lanjut.
Properti Getter dan Setter
ES5 memungkinkan Anda menggunakan sintaks yang mirip dengan mendapatkan atau menetapkan properti untuk mendefinisikan metode objek.
Contoh ini membuat properti bernama fullName dengan getter:
Contoh
// Membuat objek: var person = { firstName: "Bill", lastName : "Gates" get fullName() { return this.firstName + " " + this.lastName; } }); // Gunakan getter untuk menampilkan data dari objek: document.getElementById("demo").innerHTML = person.fullName;
Contoh ini membuat properti bahasa dengan setter dan getter:
Contoh
var person = { firstName: "Bill", lastName : "Gates" language : "NO", get lang() { return this.language; , set lang(value) { this.language = value; } }); // Gunakan setter untuk menetapkan properti objek: person.lang = "en"; // Gunakan getter untuk menampilkan data dari objek: document.getElementById("demo").innerHTML = person.lang;
Contoh ini menggunakan setter untuk memastikan pembaruan huruf besar untuk bahasa:
Contoh
var person = { firstName: "Bill", lastName : "Gates" language : "NO", set lang(value) { this.language = value.toUpperCase(); } }); // Gunakan setter untuk menetapkan properti objek: person.lang = "en"; // Tampilkan data dari objek: document.getElementById("demo").innerHTML = person.language;
Silakan Pembacaan Objek JS pelajari lebih lanjut tentang Getter dan Setter di sini.
Properti dan Metode Objek Baru
Object.defineProperty()
adalah metode objek baru di ES5.
Ini memungkinkan Anda mendefinisikan properti objek dan/atau mengubah nilai dan/atau metadata properti.
Contoh
// Membuat objek: var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // Mengubah properti: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable: true configurable : true }); // Mengevaluasi properti var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
Contoh berikut adalah kode yang sama, tetapi menyembunyikan properti bahasa di dalam enumerasi:
Contoh
// Membuat objek: var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // Mengubah properti: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : false, configurable : true }); // Mengevaluasi properti var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
// Contoh ini membuat setter dan getter untuk memastikan pembaruan huruf besar untuk bahasa:
Contoh
// Membuat objek: var person = { firstName: "Bill", lastName : "Gates" language : "NO" }); // Mengubah properti: Object.defineProperty(person, "language", { get : function() { return language }, set : function(value) { language = value.toUpperCase()} }); // Mengubah bahasa person.language = "en"; // Menampilkan bahasa document.getElementById("demo").innerHTML = person.language;
Metode baru objek ES5
ECMAScript 5 menambahkan banyak metode baru objek untuk JavaScript:
// Menambahkan atau mengubah properti objek Object.defineProperty(object, property, descriptor) // Menambahkan atau mengubah banyak properti objek Object.defineProperties(object, descriptors) // Akses properti Object.getOwnPropertyDescriptor(object, property) // Mengembalikan semua properti sebagai array Object.getOwnPropertyNames(object) // Mengembalikan properti yang dapat dievaluasi sebagai array Object.keys(object) // Akses prototype Object.getPrototypeOf(object) // Mencegah menambahkan properti ke objek Object.preventExtensions(object) // Jika dapat menambahkan properti ke objek, kembalikan true Object.isExtensible(object) // Mencegah perubahan properti objek (tidak nilai) Object.seal(object) // Jika objek disegel, kembalikan true Object.isSealed(object) // Mencegah perubahan apapun terhadap objek Object.freeze(object) // Jika objek diseklarasi, kembalikan true Object.isFrozen(object)
Silakan objek ECMAScript5 pelajari lebih lanjut.
akses properti string
charAt()
metode mengembalikan karakter yang ditentukan indeks (lokasi) di dalam string:
Contoh
var str = "HELLO WORLD"; str.charAt(0); // Mengembalikan H
ECMAScript 5 mengizinkan akses properti string:
Contoh
var str = "HELLO WORLD"; str[0]; // Mengembalikan H
akses properti string dapat diharapkan tidak terlalu
Silakan Metode String JS pelajari lebih lanjut.
Koma di Akhir (Trailing Commas)
ECMAScript 5 mengizinkan penggunaan koma di akhir dalam definisi objek dan daftar:
Contoh Object
person = { firstName: "Bill", lastName: "Gates", age: 62, }
Contoh Array
points = [ 1, 5, 10, 25, 40, 100, ];
Peringatan!!!
Internet Explorer 8 akan gagal.
JSON tidak mengizinkan koma di akhir.
Objek JSON:
// Diizinkan: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}' JSON.parse(person) // Tidak diizinkan: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}' JSON.parse(person)
Daftar JSON:
// Diizinkan: points = [40, 100, 1, 5, 25, 10] // Tidak diizinkan: points = [40, 100, 1, 5, 25, 10,]
Teks string berbaris
Jika menggunakan backslash untuk mengesampingkan, ECMAScript 5 mengijinkan teks string berbaris (literals):
Contoh
"Hello \ Kitty!";
Metode backslash mungkin belum disokong secara umum.
Browser yang lebih lama mungkin menangani spasi di sekitar backslash dengan cara yang berbeda.
Beberapa browser lama tidak mengizinkan spasi setelah karakter backslash.
Cara yang lebih aman untuk memecah teks string adalah menggunakan penambahan string:
Contoh
"Hello " + "Kitty!";
Kata Rezervasi sebagai Nama Properti
ECMAScript 5 mengijinkan kata rezervasi sebagai nama properti:
Contoh Obek
var obj = {name: "Bill", new: "yes"}
Dukungan Browser ES5 (ECMAScript 5)
Chrome 23, IE 10, dan Safari 6 adalah browser pertama yang sepenuhnya mendukung ECMAScript 5:
Chrome 23 | IE10 / Edge | Firefox 21 | Safari 6 | Opera 15 |
September 2012 | September 2012 | April 2013 | Juli 2012 | Juli 2013 |
- Halaman Sebelumnya Versi JS
- Halaman Berikutnya JS 2015 (ES6)