Tutorial JS

JS RUMAH Pengenalan JS JS Dimana Keluaran JS Pernyataan JS Sintaks JS Komentar JS Variabel JS JS Let JS Const Operator JS JS Aritmatika Tugas JS Tipe Data JS Fungsi JS Objek JS Acara JS String JS Metode String JS Pencarian String JS Template String JS Nomor JS Metode Nomor JS JS Array Metode Array JS Sortir Array JS Iterasi Array JS JS Array Const Tanggal JS Format Tanggal JS Metode Dapatkan Tanggal JS Metode Penetapan Tanggal JS JS Matematika JS Acak JS Boolean Perbandingan JS Ketentuan JS Beralih JS JS Loop Untuk JS Loop Untuk Masuk JS Loop Untuk Of JS Loop Sementara Istirahat JS JS Iterable JS Set Peta JS Tipe JS Konversi Tipe JS JS Bitwise JS RegExp Kesalahan JS Lingkup JS Pengangkatan JS Mode Ketat JS JS Kata Kunci ini Fungsi Panah JS Kelas JS JS JSON Debug JS Panduan Gaya JS Praktik Terbaik JS Kesalahan JS Kinerja JS Kata-kata Cadangan JS

Versi JS

Versi JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Tepi Sejarah JS

Objek JS

Definisi Objek Properti Objek Metode Objek Tampilan Objek Aksesor Objek Konstruktor Objek Prototipe Objek Obyek Iterable Set Objek Peta Objek Referensi Objek

Fungsi JS

Definisi Fungsi Parameter Fungsi Panggilan Fungsi Panggilan Fungsi Fungsi Terapkan Penutupan Fungsi

Kelas JS

Perkenalan Kelas Warisan Kelas Kelas Statis

JS Asinkron

Panggilan Balik JS JS Asinkron JS Janji JS Async/Menunggu

JS HTML DOM

Pengenalan DOM Metode DOM Dokumen DOM Elemen DOM HTML DOM Formulir DOM CSS DOM Animasi DOM Acara DOM Pendengar Acara DOM Navigasi DOM Node DOM Koleksi DOM Daftar Node DOM

JS Browser BOM

Jendela JS Layar JS Lokasi JS Sejarah JS JS Navigator Peringatan Munculan JS Waktu JS JS Cookies

JS Web API

Pengantar API Web API Formulir Web API Riwayat Web API Penyimpanan Web API Pekerja Web API Pengambilan Web API Geolokasi Web

JS AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

JS JSON

Perkenalan JSON Sintaks JSON JSON vs XML Tipe Data JSON Penguraian JSON Stringify JSON Objek JSON Array JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Pemilih jQuery jQuery HTML jQuery CSS jQuery DOM

Grafik JS

Grafik JS JS Kanvas JS Plotly JS Chart.js Bagan Google JS JS D3.js

Contoh JS

Contoh JS JS HTML DOM Masukan HTML JS Objek HTML JS Acara HTML JS JS Browser Editor JS Latihan JS kuis JS Sertifikat JS

Referensi JS

Objek JavaScript Objek DOM HTML


Sejarah JavaScript


JavaScript / ECMAScript

JavaScript ditemukan oleh Brendan Eich pada tahun 1995.

Ini dikembangkan untuk Netscape 2 , dan menjadi standar ECMA-262 pada tahun 1997.

Setelah Netscape menyerahkan JavaScript ke ECMA, yayasan Mozilla terus mengembangkan JavaScript untuk browser Firefox. Versi terbaru Mozilla adalah 1.8.5. (Identik dengan ES5).

Internet Explorer (IE4) adalah browser pertama yang mendukung ECMA-262 Edition 1 (ES1).

Tahun ECMAPeramban
1995   JavaScript ditemukan oleh Brendan Eich
1996   Netscape 2 dirilis dengan JavaScript 1.0
1997   JavaScript menjadi standar ECMA (ECMA-262)
1997 ES1 ECMAScript 1 dirilis
1997 ES1 IE 4 adalah browser pertama yang mendukung ES1
1998 ES2 ECMAScript 2 dirilis
1998   Netscape 42 dirilis dengan JavaScript 1.3
1999 ES2 IE 5 adalah browser pertama yang mendukung ES2
1999 ES3 ECMAScript 3 dirilis
2000 ES3 IE 5.5 adalah browser pertama yang mendukung ES3
2000   Netscape 62 dirilis dengan JavaScript 1.5
2000   Firefox 1 dirilis dengan JavaScript 1.5
2008 ES4 ECMAScript 4 ditinggalkan
2009 ES5 ECMAScript 5 dirilis
2011 ES5 IE 9 adalah browser pertama yang mendukung ES5 *
2011 ES5 Firefox 4 dirilis dengan JavaScript 1.8.5
2012 ES5 Dukungan penuh untuk ES5 di Safari 6
2012 ES5 Dukungan penuh untuk ES5 di IE 10
2012 ES5 Dukungan penuh untuk ES5 di Chrome 23
2013 ES5 Dukungan penuh untuk ES5 di Firefox 21
2013 ES5 Dukungan penuh untuk ES5 di Opera 15
2014 ES5 Dukungan penuh untuk ES5 di semua browser
2015 ES6 ECMAScript 6 dirilis
2016 ES6 Dukungan penuh untuk ES6 di Chrome 51
2016 ES6 Dukungan penuh untuk ES6 di Opera 38
2016 ES6 Dukungan penuh untuk ES6 di Edge 14
2016 ES6 Dukungan penuh untuk ES6 di Safari 10
2015 ES6 Dukungan penuh untuk ES6 di Firefox 52
2018 ES6 Dukungan penuh untuk ES6 di semua browser **

Catatan

* Internet Explorer 9 tidak mendukung ES5 "gunakan ketat".

** Internet Explorer 11 tidak mendukung ES6.


Komite Teknis ECMA 39

Pada tahun 1996, Netscape dan Brendan Eich membawa JavaScript ke organisasi standar internasional ECMA, dan komite teknis (TC39) dibentuk untuk mengembangkan bahasa tersebut.

ECMA-262 Edisi 1 dirilis pada Juni 1997.


Dari ES4 ke ES6

Ketika komite TC39 berkumpul di Oslo pada tahun 2008, untuk menyepakati ECMAScript 4, mereka dibagi menjadi 2 kubu yang sangat berbeda:

The ECMAScript 3.1 Camp :
Microsoft dan Yahoo yang menginginkan peningkatan bertahap dari ES3.

ECMAScript 4 Camp :
Adobe, Mozilla, Opera, dan Google yang menginginkan peningkatan ES4 besar-besaran.

13 Agustus 2008, Brendan Eich menulis email :

Bukan rahasia lagi bahwa badan standar JavaScript, Ecma's Technical Committee 39, telah terpecah selama lebih dari setahun, dengan beberapa anggota menyukai ES4, edisi keempat utama dari ECMA-262, dan yang lainnya menganjurkan ES3.1 berdasarkan ECMA-262 yang ada. Spesifikasi Edisi 3 (ES3). Sekarang, dengan senang hati saya laporkan, perpecahan sudah berakhir.

Solusinya adalah bekerja sama:

  • ECMAScript 4 diubah namanya menjadi ES5
  • ES5 harus menjadi peningkatan bertahap dari ECMAScript 3.
  • Fitur ECMAScript 4 harus diambil di versi yang lebih baru.
  • TC39 harus mengembangkan rilis utama baru, cakupannya lebih besar daripada ES5.

Rilis baru yang direncanakan (ES6) diberi nama kode "Harmoni" (Karena perpecahan yang dibuatnya?).

ES5 sukses besar. Ini dirilis pada tahun 2009, dan semua browser utama (termasuk Internet Explorer) sepenuhnya sesuai pada Juli 2013:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 juga sukses besar. Ini dirilis pada tahun 2015, dan semua browser utama sepenuhnya sesuai pada Maret 2017:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016