Pengenalan Java Script


I.Latar Belakang.
pengenalan javascript dan pembuatan fungsi dari javascript.

II.Alat dan Bahan.
  Laptop / PC
  W3SCHOOLS
  Sublime Text

III.Tujuan.
 untuk mengetahui apa itu sql, cara penerapan nya dan penggunaan nya untuk suatu program kerja seperti pembuatan aplikasi berbasis web.

IV.Penjelasan. 
 

JavaScript

JavaScript adalah tingkat tinggi, dinamis, untyped, dan ditafsirkan bahasa pemrograman. Ini telah dibakukan dalam bahasa ECMAScript specification.Alongside HTML dan CSS, JavaScript adalah salah satu dari tiga teknologi inti Dunia produksi Wide Web konten; mayoritas situs menggunakannya, dan semua browser web modern mendukungnya tanpa perlu plug-in. JavaScript adalah prototipe berbasis dengan fungsi-kelas, membuatnya menjadi bahasa multi-paradigma, mendukung gaya object-oriented, penting, dan pemrograman fungsional. Ini memiliki API untuk bekerja dengan teks, array, tanggal dan ekspresi reguler, tetapi tidak termasuk I / O, seperti jaringan, penyimpanan, atau fasilitas grafis, mengandalkan untuk ini pada lingkungan host di mana ia tertanam.

Meskipun ada kesamaan luar yang kuat antara JavaScript dan Java, termasuk nama bahasa, sintaksis, dan perpustakaan standar masing-masing, keduanya bahasa yang berbeda dan sangat berbeda dalam desain mereka. JavaScript dipengaruhi oleh bahasa pemrograman seperti diri dan Scheme.

JavaScript juga digunakan dalam lingkungan yang tidak berbasis web, seperti dokumen PDF, browser situs-spesifik, dan widget desktop. mesin baru dan lebih cepat JavaScript virtual (VM) dan platform dibangun di atas mereka juga telah meningkatkan popularitas JavaScript untuk aplikasi Web server-side. Di sisi klien, pengembang secara tradisional dilaksanakan JavaScript sebagai bahasa ditafsirkan, namun browser yang lebih baru melakukan kompilasi just-in-time. Programmer juga menggunakan JavaScript dalam pengembangan video-game, dalam kerajinan aplikasi desktop dan mobile, dan pemrograman jaringan server-side dengan lingkungan run-time seperti Node.js.

Awal di Netscape

Pada tahun 1993, Pusat Nasional untuk Aplikasi Supercomputing (NCSA), sebuah unit dari University of Illinois di Urbana-Champaign, dirilis NCSA Mosaic, yang populer Web browser grafis pertama, yang memainkan peran penting dalam memperluas pertumbuhan Dunia baru lahir Lebar web. Pada tahun 1994, sebuah perusahaan bernama Mosaic Communications didirikan di Mountain View, California, dan mempekerjakan banyak penulis NCSA Mosaic asli untuk membuat Mosaic Netscape. Namun, sengaja tidak berbagi kode dengan NCSA Mosaic. Codename internal browser perusahaan adalah Mozilla, yang berdiri untuk "pembunuh Mosaic", sebagai tujuan perusahaan adalah untuk menggantikan NCSA Mosaic sebagai browser web nomor satu di dunia. Versi pertama dari browser Web, Mosaic Netscape 0.9, dirilis pada akhir tahun 1994. Dalam waktu empat bulan itu sudah diambil tiga perempat dari pasar browser dan menjadi browser utama Internet di tahun 1990-an. Untuk menghindari masalah kepemilikan merek dagang dengan NCSA, browser kemudian berganti nama menjadi Netscape Navigator pada tahun yang sama, dan perusahaan mengambil nama Netscape Communications.

Netscape Communications menyadari bahwa Web yang dibutuhkan untuk menjadi lebih dinamis. Marc Andreessen, pendiri perusahaan percaya bahwa HTML membutuhkan "bahasa lem" yang mudah digunakan oleh desainer Web dan programer paruh waktu untuk merakit komponen seperti gambar dan plugin, di mana kode dapat ditulis langsung di halaman Web markup. Pada tahun 1995, perusahaan merekrut Brendan Eich dengan tujuan menanamkan bahasa pemrograman Skema menjadi yang Netscape Navigator. Sebelum dia bisa memulai, Netscape Communications berkolaborasi dengan Sun Microsystems untuk memasukkan dalam Netscape Navigator Sun lebih statis bahasa pemrograman Java, untuk bersaing dengan Microsoft untuk diadopsi pengguna teknologi Web dan platform. Netscape Communications kemudian memutuskan bahwa bahasa scripting mereka ingin menciptakan akan melengkapi Java dan harus memiliki sintaks mirip, yang dikecualikan mengadopsi bahasa lain seperti Perl, Python, TCL, atau Skema. Untuk mempertahankan gagasan JavaScript terhadap proposal yang bersaing, perusahaan membutuhkan prototipe. Eich menulis satu dalam 10 hari, pada Mei 1995.

Meskipun dikembangkan di bawah nama Mocha, bahasa itu secara resmi disebut LiveScript ketika pertama kali dikirimkan dalam rilis beta dari Netscape Navigator 2.0 pada September 1995, tapi namanya diubah JavaScript ketika ditempatkan di Netscape Navigator 2.0 beta 3 pada bulan Desember. Pilihan terakhir dari nama menyebabkan kebingungan, memberi kesan bahwa bahasa adalah spin-off dari bahasa pemrograman Java, dan pilihan telah ditandai sebagai taktik pemasaran oleh Netscape untuk memberikan JavaScript yang cap apa yang kemudian Web baru panas bahasa pemrograman.

Ada kesalahpahaman umum bahwa JavaScript dipengaruhi oleh Halaman Web bahasa scripting sebelumnya dikembangkan oleh Nombas bernama C-- (tidak harus bingung dengan C-- kemudian dibuat pada tahun 1997). Brendan Eich, bagaimanapun, belum pernah mendengar tentang C-- sebelum dia menciptakan LiveScript.Nombas tidak ter tertanam scripting halaman web mereka untuk Netscape, meskipun halaman web scripting bukanlah konsep baru, seperti yang ditunjukkan oleh browser Web ViolaWWW. Nombas kemudian beralih ke menawarkan JavaScript bukannya C-- dalam produk ScriptEase mereka dan merupakan bagian dari kelompok TC39 yang standar ECMAScript.

Server-side JavaScript

Pada bulan Desember 1995, segera setelah merilis JavaScript untuk browser, Netscape memperkenalkan sebuah implementasi dari bahasa scripting server-side dengan Netscape Enterprise Server.
Sejak pertengahan 2000-an, tambahan server-side implementasi JavaScript telah diperkenalkan, terutama Node.js (pada tahun 2009).

Adopsi oleh Microsoft

teknologi skrip Microsoft termasuk VBScript dan JScript yang dirilis pada tahun 1996. JScript, implementasi reverse-engineered dari Netscape JavaScript, adalah bagian dari Internet Explorer 3. JScript juga tersedia untuk server-side scripting di Internet Information Server. Internet Explorer 3 juga termasuk dukungan pertama Microsoft untuk CSS dan berbagai ekstensi untuk HTML, tetapi dalam setiap kasus pelaksanaan itu terasa berbeda dengan yang ditemukan di Netscape Navigator pada saat itu. Perbedaan ini membuat sulit bagi desainer dan programmer untuk membuat sebuah karya situs Web dengan baik di kedua browser, yang mengarah ke penggunaan "terbaik dilihat dalam Netscape" dan "terbaik dilihat dalam Internet Explorer" logo yang ditandai tahun-tahun awal perang browser. JavaScript mulai memperoleh reputasi sebagai salah satu hambatan untuk Web cross-platform dan standar-driven. Beberapa pengembang mengambil tugas sulit mencoba untuk membuat situs mereka bekerja di kedua browser utama, tetapi banyak yang tidak mampu waktu. Dengan rilis Internet Explorer 4, Microsoft memperkenalkan konsep Dynamic HTML, tetapi perbedaan dalam implementasi bahasa dan Model Document Object berbeda dan eksklusif tetap dan hambatan untuk luas take-up dari JavaScript di Web.

Standardisasi

Pada bulan November 1996, Netscape disampaikan JavaScript untuk Ecma International untuk mengukir spesifikasi standar, yang vendor browser lain bisa kemudian menerapkan berdasarkan kerja yang dilakukan di Netscape. Hal ini menyebabkan rilis resmi dari ECMAScript spesifikasi bahasa diterbitkan dalam edisi pertama dari standar ECMA-262 pada bulan Juni 1997, dengan JavaScript yang paling terkenal dari implementasi. ActionScript dan JScript adalah implementasi terkenal lainnya dari ECMAScript, dengan ekstensi.

Proses standar terus dalam siklus, dengan merilis ECMAScript 2 pada bulan Juni 1998, yang membawa beberapa modifikasi agar sesuai dengan standar internasional ISO / IEC 16262. Pelepasan ECMAScript 3 diikuti pada bulan Desember 1999, yang merupakan dasar untuk modern JavaScript. Asli ECMAScript 4 pekerjaan yang dipimpin oleh Waldemar Horwat (kemudian di Netscape, sekarang di Google) dimulai pada tahun 2000 dan pada awalnya, Microsoft tampaknya untuk berpartisipasi dan bahkan menerapkan beberapa proposal dalam bahasa JScript .NET mereka.

Seiring waktu itu jelas bahwa meskipun Microsoft tidak berniat bekerja sama atau menerapkan JavaScript yang tepat di Internet Explorer, meskipun mereka tidak punya usulan bersaing dan mereka memiliki parsial (dan menyimpang pada saat ini) pelaksanaan di sisi NET Server. Jadi pada tahun 2003, asli ECMAScript 4 pekerjaan yang mothballed.

Acara besar berikutnya adalah pada tahun 2005, dengan dua peristiwa penting dalam sejarah JavaScript ini. Pertama, Brendan Eich dan Mozilla kembali bergabung ECMA International sebagai tidak-untuk-profit anggota dan bekerja mulai pada ECMAScript untuk XML (E4X), standar ECMA-357, yang berasal dari karyawan ex-Microsoft di BEA Systems (awalnya diperoleh sebagai Crossgain) . Hal ini menyebabkan bekerja bersama-sama dengan Macromedia (kemudian diakuisisi oleh Adobe Systems), yang menerapkan E4X dalam ActionScript 3 (ActionScript 3 adalah garpu asli ECMAScript 4).

Jadi, bersama dengan Macromedia, kerja ulang pada ECMAScript 4 dengan tujuan standardisasi apa yang ada di ActionScript 3. Untuk tujuan ini, Adobe Systems merilis ActionScript Virtual Machine 2, kode bernama Tamarin, sebagai proyek open source. Tapi Tamarin dan ActionScript 3 terlalu berbeda dari web JavaScript untuk berkumpul, seperti yang disadari oleh pihak pada tahun 2007 dan 2008.

Sayangnya, masih ada gejolak antara berbagai pemain; Douglas Crockford-kemudian di Yahoo! Pasukan -joined dengan Microsoft pada tahun 2007 untuk menentang ECMAScript 4, yang menyebabkan ECMAScript 3.1 usaha. Pengembangan ECMAScript 4 tidak pernah selesai, tapi pekerjaan yang dipengaruhi versi berikutnya.

Sementara semua ini terjadi, sumber dan pengembang masyarakat terbuka mulai bekerja untuk merevolusi apa yang bisa dilakukan dengan JavaScript. upaya masyarakat ini dipicu pada tahun 2005 ketika Jesse James Garrett dirilis kertas putih di mana ia menciptakan istilah Ajax, dan menggambarkan seperangkat teknologi, yang JavaScript adalah tulang punggung, yang digunakan untuk membuat aplikasi web dimana data dapat dimuat di latar belakang , menghindari kebutuhan untuk ulang halaman penuh dan mengarah ke aplikasi yang lebih dinamis. Hal ini mengakibatkan periode kebangkitan penggunaan JavaScript dipelopori oleh perpustakaan open source dan komunitas yang terbentuk di sekitar mereka, dengan perpustakaan seperti Prototype, jQuery, Dojo Toolkit, Mootools dan lain-lain yang dirilis.

Pada bulan Juli 2008, pihak yang berbeda di kedua sisi berkumpul di Oslo. Hal ini menyebabkan perjanjian akhirnya pada awal 2009 untuk mengubah nama ECMAScript 3,1 untuk ECMAScript 5 dan drive bahasa maju menggunakan agenda yang dikenal sebagai Harmony. ECMAScript 5 akhirnya dirilis pada bulan Desember 2009.

Pada bulan Juni 2011, ECMAScript 5.1 dirilis untuk sepenuhnya menyelaraskan dengan edisi ketiga dari standar internasional ISO / IEC 16262. ECMAScript 2015 dirilis pada Juni 2015. Versi saat ini adalah ECMAScript 2016, dirilis pada bulan Juni 2016.

kemudian perkembangan

JavaScript telah menjadi salah satu bahasa pemrograman yang paling populer di Web. Awalnya, bagaimanapun, banyak programmer profesional direndahkan bahasa karena, antara lain, target pasarnya terdiri dari penulis Web dan seperti "amatir" lainnya.  Munculnya Ajax kembali JavaScript untuk sorotan dan membawa perhatian pemrograman lebih profesional. Hasilnya adalah proliferasi kerangka kerja dan perpustakaan yang luas, meningkatkan praktek pemrograman JavaScript, dan peningkatan penggunaan JavaScript di luar browser Web, seperti yang terlihat oleh proliferasi server-side JavaScript platform.

Pada bulan Januari 2009, proyek CommonJS didirikan dengan tujuan menentukan perpustakaan standar umum terutama untuk pengembangan JavaScript di luar browser.

Dengan munculnya aplikasi satu halaman dan situs JavaScript-berat, semakin banyak digunakan sebagai target kompilasi untuk sumber-to-sumber compiler dari kedua bahasa dinamis dan bahasa statis.

Imperatif dan terstruktur
JavaScript mendukung banyak sintaks pemrograman terstruktur dari C (misalnya, jika laporan, sementara loop, beralih pernyataan, dilakukan sementara loop, dll). Satu pengecualian parsial scoping: JavaScript awalnya hanya fungsi scoping dengan var. ECMAScript 2015 menambahkan kata kunci let untuk blok scoping, berarti JavaScript kini memiliki fungsi dan blok scoping. Seperti C, JavaScript membuat perbedaan antara ekspresi dan pernyataan. Salah satu perbedaan sintaksis dari C adalah penyisipan titik koma otomatis, yang memungkinkan titik koma yang biasanya akan menghentikan pernyataan yang akan dihilangkan.

Dinamis

ketikan
    Seperti kebanyakan bahasa scripting, JavaScript dinamis diketik; Jenis yang berhubungan dengan masing-masing nilai, bukan hanya dengan setiap ekspresi. Sebagai contoh, sebuah variabel yang pada satu waktu terikat ke nomor mungkin nantinya akan kembali terikat string. [30] JavaScript mendukung berbagai cara untuk menguji jenis objek, termasuk bebek mengetik.
Run-time evaluasi
    JavaScript mencakup fungsi eval yang dapat mengeksekusi pernyataan disediakan sebagai string saat run-time.

Prototipe berbasis (Object-oriented)
JavaScript hampir seluruhnya berbasis objek. Dalam JavaScript, sebuah objek adalah array asosiatif, ditambah dengan prototipe (lihat di bawah); masing-masing kunci string memberikan nama untuk objek properti, dan ada dua cara sintaksis untuk menentukan nama seperti: notasi titik (obj.x = 10) dan notasi braket (obj [ 'x'] = 10). Properti dapat ditambahkan, rebound, atau dihapus pada saat run-time. Kebanyakan properti dari suatu objek (dan properti apapun yang milik prototipe rantai warisan obyek) bisa dihitung menggunakan untuk ... dalam lingkaran.

JavaScript memiliki sejumlah kecil built-in objek, termasuk Fungsi dan Tanggal.

prototip
    JavaScript menggunakan prototipe mana banyak bahasa berorientasi obyek lain menggunakan kelas untuk warisan.  Hal ini dimungkinkan untuk mensimulasikan banyak fitur berbasis kelas dengan prototip dalam JavaScript.

Berfungsi sebagai konstruktor objek    Fungsi ganda sebagai konstruktor objek, bersama dengan peran khas mereka. Awalan panggilan fungsi dengan baru akan membuat sebuah instance dari prototipe, mewarisi properti dan metode dari konstruktor (termasuk sifat dari prototipe Object). ECMAScript 5 menawarkan metode Object.create, memungkinkan penciptaan eksplisit sebuah contoh tanpa otomatis mewarisi dari prototipe Object (lingkungan yang lebih tua dapat menetapkan prototipe null). Properti prototipe konstruktor menentukan objek yang digunakan untuk prototipe internal objek baru. metode baru dapat ditambahkan dengan memodifikasi prototipe dari fungsi yang digunakan sebagai konstruktor. JavaScript built-in konstruktor, seperti Array atau Object, juga memiliki prototipe yang dapat dimodifikasi. Meskipun dimungkinkan untuk memodifikasi prototipe Object, umumnya dianggap praktik buruk karena sebagian besar objek dalam JavaScript akan mewarisi metode dan properti dari prototipe Object, dan mereka mungkin tidak mengharapkan prototipe yang akan dimodifikasi.

Berfungsi sebagai metode    Tidak seperti banyak bahasa berorientasi objek, tidak ada perbedaan antara definisi fungsi dan definisi metode. Sebaliknya, perbedaan terjadi selama pemanggilan fungsi; ketika fungsi ini disebut sebagai metode objek, fungsi ini lokal kata kunci ini terikat untuk yang objek untuk doa itu.

Fungsional

Fungsi adalah kelas; fungsi dianggap sebuah objek. Dengan demikian, fungsi mungkin memiliki sifat dan metode, seperti .call () dan .bind ().  Sebuah fungsi bersarang adalah fungsi yang didefinisikan dalam fungsi lain. Hal ini dibuat setiap kali fungsi luar dipanggil. Selain itu, masing-masing fungsi bersarang membentuk penutupan leksikal: Ruang lingkup leksikal dari fungsi luar (termasuk konstan, variabel lokal, atau nilai argumen) menjadi bagian dari keadaan internal setiap objek fungsi batin, bahkan setelah pelaksanaan fungsi luar menyimpulkan . JavaScript juga mendukung fungsi anonim.
Delegatif
JavaScript mendukung delegasi implisit dan eksplisit.

Berfungsi sebagai peran (Traits dan mixin)
    JavaScript native mendukung berbagai implementasi fungsi berbasis Peran  pola seperti Traits dan mixin. fungsi seperti mendefinisikan perilaku tambahan dengan setidaknya satu metode terikat pada kata kunci ini dalam tubuh fungsinya. Peran kemudian harus didelegasikan secara eksplisit melalui panggilan atau berlaku untuk objek yang perlu fitur perilaku tambahan yang tidak dibagi melalui rantai prototipe.

komposisi objek dan warisan
    Sedangkan eksplisit fungsi berbasis delegasi melakukan komposisi penutup di JavaScript, delegasi implisit sudah terjadi setiap kali rantai prototipe berjalan untuk, misalnya, menemukan metode yang mungkin terkait dengan tetapi tidak langsung dimiliki oleh sebuah objek. Setelah metode ini ditemukan dipanggil dalam konteks ini objek. Dengan demikian warisan dalam JavaScript ditutupi oleh otomatisme delegasi yang terikat pada properti prototipe fungsi konstruktor.

Bermacam-macam

Run-time lingkungan
    JavaScript biasanya bergantung pada lingkungan run-time (mis, browser Web) untuk menyediakan objek dan metode yang script dapat berinteraksi dengan lingkungan (misalnya, halaman web DOM). Hal ini juga bergantung pada lingkungan run-time untuk memberikan kemampuan untuk menyertakan / impor script (misalnya, HTML <script> elemen). Ini bukan fitur bahasa per se, tapi itu adalah umum di sebagian besar implementasi JavaScript.

    JavaScript memproses pesan dari antrian satu per satu. Setelah memuat pesan baru, JavaScript panggilan fungsi yang terkait dengan pesan itu, yang menciptakan bingkai panggilan stack (argumen fungsi dan variabel lokal). Stack panggilan menyusut dan tumbuh berdasarkan kebutuhan fungsi ini. Setelah fungsi selesai, ketika stack kosong, JavaScript hasil untuk pesan berikutnya dalam antrian. Ini disebut loop acara, digambarkan sebagai "berjalan sampai selesai" karena setiap pesan diproses sepenuhnya sebelum pesan berikutnya dianggap. Namun, model yang concurrency bahasa menggambarkan acara lingkaran sebagai non-blocking: masukan Program / output dilakukan dengan menggunakan acara dan fungsi callback. Ini berarti, misalnya, bahwa JavaScript dapat memproses satu klik mouse sambil menunggu untuk query database untuk kembali informasi.

Bungsi variadic    Jumlah yang tak terbatas dari parameter dapat dilewatkan ke fungsi. fungsi tersebut dapat mengaksesnya melalui parameter formal dan juga melalui argumen lokal keberatan. fungsi variadic juga dapat dibuat dengan menggunakan metode mengikat.

Array dan objek literal    Seperti banyak scripting bahasa, array dan objek (array asosiatif dalam bahasa lain) masing-masing dapat dibuat dengan sintaks shortcut ringkas. Bahkan, literal ini membentuk dasar dari format data JSON.

Ekspresi reguler    JavaScript juga mendukung ekspresi reguler dalam cara yang mirip dengan Perl, yang menyediakan sintaks ringkas dan kuat untuk manipulasi teks yang lebih canggih dari fungsi string built-in.

Ekstensi khusus vendor

JavaScript resmi dikelola oleh Yayasan Mozilla, dan fitur bahasa baru ditambahkan secara berkala. Namun, hanya beberapa mesin JavaScript mendukung fitur baru ini:

  •     pengambil properti dan setter fungsi (didukung oleh WebKit, Gecko, Opera, ActionScript, dan Rhino)
  •     klausa catch bersyarat
  •     iterator protokol (diadopsi dari Python)
  •     dangkal generator-coroutines (diadopsi dari Python)
  •     comprehensions array dan ekspresi Generator (diadopsi dari Python)
  •     blok ruang lingkup yang tepat melalui kata kunci let
  •     array dan objek destructuring (bentuk terbatas dari pencocokan pola)
  •     ekspresi fungsi ringkas (function (args) expr)
  •     ECMAScript untuk XML (E4X), ekstensi yang menambahkan dukungan   XML asli ECMAScript (tidak didukung di Firefox sejak versi 21)
Sintaksis
Artikel utama: sintaks JavaScript
contoh sederhana

Variabel dalam JavaScript dapat didefinisikan menggunakan kata kunci var:

var x; // Mendefinisikan variabel x dan memberikan itu nilai khusus "undefined" (tidak harus bingung dengan nilai terdefinisi)
var y = 2; // Mendefinisikan variabel y dan memberikan itu nilai 2

Perhatikan komentar dalam contoh di atas, yang keduanya didahului dengan dua garis miring ke depan.

Tidak ada built-in I / O fungsi dalam JavaScript; lingkungan run-time menyediakan itu. Spesifikasi ECMAScript dalam edisi 5.1 menyebutkan:

    ... Memang, tidak ada ketentuan dalam spesifikasi ini untuk input data eksternal atau output dari hasil dihitung.

Namun, kebanyakan lingkungan runtime memiliki konsol objek yang dapat digunakan untuk mencetak output. Berikut adalah program Hello World minimalis dalam JavaScript:

console.log ( "Hello World!");

Contoh :
 Maka outputnya :

 V.Kesimpulan.
kita bisa tahu Javacsript, pengertian dan satu contoh javascript.

VI.Refrensi.

    https://en.wikipedia.org/wiki/JavaScript

Komentar

Postingan Populer