Ini mungkin terdengar sepele dan, sebenarnya, sepele dengan ECMAscript 6 yang memperkenalkan fungsi Show
Masalahnya adalah, dalam spesifikasi ECMAScript, bilangan bulat hanya ada secara konseptual; . e. , nilai numerik selalu disimpan sebagai nilai floating point Dengan mengingat hal itu, solusi pra-ECMAScript-6 yang paling sederhana dan bersih (yang juga cukup kuat untuk mengembalikan 0 diteruskan ke fungsi) akan menjadi penggunaan berikut dari _Solusi berikut juga akan berfungsi, meskipun tidak seanggun yang di atas
Fungsi berikut (atau dengan _1 atau 2 menggantikan 3) mungkin juga tampak berguna, tetapi hasilnya tidak persis sama dengan dua fungsi di atas _Perbedaannya adalah, solusi berbasis 4 ini mengembalikan 5 untuk 6 dan 7, sedangkan yang lain (dan khususnya Number.isInteger() ES6) mengembalikan false Solusi salah yang cukup umum lainnya adalah sebagai berikut
Sementara pendekatan berbasis _0 ini akan bekerja dengan baik untuk banyak nilai 1, sekali 1 menjadi cukup besar, itu akan gagal bekerja dengan baik. Masalahnya adalah 3 memaksa parameter pertamanya menjadi string sebelum mem-parsing digit. Oleh karena itu, setelah jumlahnya menjadi cukup besar, representasi stringnya akan disajikan dalam bentuk eksponensial (mis. g. , _4). Dengan demikian, _3 kemudian akan mencoba mengurai 4, tetapi akan berhenti mengurai ketika mencapai 7 karakter dan karena itu akan mengembalikan nilai 8. Mengamati JavaScript adalah bahasa yang dikompilasi tingkat tinggi, seringkali tepat waktu yang sesuai dengan standar ECMAScript. Ini memiliki pengetikan dinamis, orientasi objek berbasis prototipe, dan fungsi kelas satu. Ini adalah multi-paradigma, mendukung gaya pemrograman yang digerakkan oleh peristiwa, fungsional, dan imperatif. Ini memiliki antarmuka pemrograman aplikasi (API) untuk bekerja dengan teks, tanggal, ekspresi reguler, struktur data standar, dan Model Objek Dokumen (DOM) Standar ECMAScript tidak menyertakan input/output (I/O) apa pun, seperti jaringan, penyimpanan, atau fasilitas grafis. Dalam praktiknya, browser web atau sistem waktu proses lainnya menyediakan JavaScript API untuk I/O Mesin JavaScript pada awalnya hanya digunakan di browser web, tetapi sekarang menjadi komponen inti dari beberapa server dan berbagai aplikasi. Sistem runtime paling populer untuk penggunaan ini adalah Node. js Meskipun Java dan JavaScript serupa dalam nama, sintaks, dan pustaka standar masing-masing, kedua bahasa ini berbeda dan sangat berbeda dalam desain SejarahPembuatan di NetscapePeramban web populer pertama dengan antarmuka pengguna grafis, Mosaic, dirilis pada tahun 1993. Dapat diakses oleh orang non-teknis, ini memainkan peran penting dalam pertumbuhan pesat World Wide Web yang baru lahir. Pengembang utama Mosaic kemudian mendirikan perusahaan Netscape, yang merilis browser yang lebih halus, Netscape Navigator, pada tahun 1994. Ini dengan cepat menjadi yang paling banyak digunakan Selama tahun-tahun pembentukan Web ini, halaman web hanya bisa statis, tidak memiliki kemampuan untuk perilaku dinamis setelah halaman dimuat di browser. Ada keinginan di kancah pengembangan web yang berkembang pesat untuk menghilangkan batasan ini, jadi pada tahun 1995, Netscape memutuskan untuk menambahkan bahasa scripting ke Navigator. Mereka menempuh dua rute untuk mencapai hal ini. berkolaborasi dengan Sun Microsystems untuk menyematkan bahasa pemrograman Java, sekaligus mempekerjakan Brendan Eich untuk menyematkan bahasa Skema Manajemen Netscape segera memutuskan bahwa pilihan terbaik bagi Eich adalah merancang bahasa baru, dengan sintaks yang mirip dengan Java dan kurang seperti Skema atau bahasa skrip lain yang masih ada. Meskipun bahasa baru dan penerapan juru bahasanya disebut LiveScript saat pertama kali dikirimkan sebagai bagian dari Navigator beta pada bulan September 1995, namanya diubah menjadi JavaScript untuk rilis resmi pada bulan Desember Pemilihan nama JavaScript telah menimbulkan kebingungan, menyiratkan bahwa itu terkait langsung dengan Java. Pada saat itu, ledakan dot-com telah dimulai dan Java adalah bahasa baru yang populer, jadi Eich menganggap nama JavaScript sebagai taktik pemasaran oleh Netscape. Adopsi oleh MicrosoftMicrosoft memulai debutnya Internet Explorer pada tahun 1995, yang menyebabkan perang browser dengan Netscape. Di depan JavaScript, Microsoft merekayasa ulang juru bahasa Navigator untuk membuatnya sendiri, yang disebut JScript JScript pertama kali dirilis pada tahun 1996, bersamaan dengan dukungan awal untuk CSS dan ekstensi ke HTML. Masing-masing implementasi ini sangat berbeda dari rekan-rekan mereka di Navigator. Perbedaan-perbedaan ini mempersulit pengembang untuk membuat situs web mereka bekerja dengan baik di kedua browser, yang menyebabkan penggunaan logo "terbaik dilihat di Netscape" dan "terbaik dilihat di Internet Explorer" secara luas selama beberapa tahun. Munculnya JScriptPada bulan November 1996, Netscape mengirimkan JavaScript ke Ecma International, sebagai titik awal untuk spesifikasi standar yang dapat disesuaikan oleh semua vendor browser. Hal ini menyebabkan rilis resmi dari spesifikasi bahasa ECMAScript pertama pada bulan Juni 1997 Proses standar berlanjut selama beberapa tahun, dengan dirilisnya ECMAScript 2 pada Juni 1998 dan ECMAScript 3 pada Desember 1999. Bekerja pada ECMAScript 4 dimulai pada tahun 2000 Sementara itu, Microsoft memperoleh posisi yang semakin dominan di pasar browser. Pada awal 2000-an, pangsa pasar Internet Explorer mencapai 95%. Ini berarti JScript menjadi standar de facto untuk skrip sisi klien di Web Microsoft awalnya berpartisipasi dalam proses standar dan mengimplementasikan beberapa proposal dalam bahasa JScript-nya, tetapi akhirnya berhenti berkolaborasi dalam pekerjaan Ecma. Jadi ECMAScript 4 dihentikan Pertumbuhan dan standardisasiSelama periode dominasi Internet Explorer di awal tahun 2000-an, skrip sisi klien mengalami stagnasi. Ini mulai berubah pada tahun 2004, ketika penerus Netscape, Mozilla, merilis browser Firefox. Firefox diterima dengan baik oleh banyak orang, mengambil pangsa pasar yang signifikan dari Internet Explorer Pada tahun 2005, Mozilla bergabung dengan ECMA International, dan pekerjaan dimulai pada standar ECMAScript for XML (E4X). Hal ini menyebabkan Mozilla bekerja sama dengan Macromedia (kemudian diakuisisi oleh Adobe Systems), yang mengimplementasikan E4X dalam bahasa ActionScript 3 mereka, yang didasarkan pada draf ECMAScript 4. Tujuannya menjadi standardisasi ActionScript 3 sebagai ECMAScript 4 baru. Untuk tujuan ini, Adobe Systems merilis implementasi Tamarin sebagai proyek open source. Namun, Tamarin dan ActionScript 3 terlalu berbeda dari pembuatan skrip sisi klien, dan tanpa kerja sama dari Microsoft, ECMAScript 4 tidak pernah membuahkan hasil. Sementara itu, perkembangan yang sangat penting terjadi di komunitas open-source yang tidak berafiliasi dengan pekerjaan ECMA. Pada tahun 2005, Jesse James Garrett merilis kertas putih di mana ia menciptakan istilah Ajax dan menggambarkan seperangkat teknologi, yang JavaScript adalah tulang punggungnya, untuk membuat aplikasi web di mana data dapat dimuat di latar belakang, menghindari kebutuhan halaman penuh. . Ini memicu periode kebangkitan JavaScript, dipelopori oleh perpustakaan sumber terbuka dan komunitas yang terbentuk di sekitarnya. Banyak perpustakaan baru dibuat, termasuk jQuery, Prototype, Dojo Toolkit, dan MooTools Google memulai debutnya browser Chrome pada tahun 2008, dengan mesin JavaScript V8 yang lebih cepat dari para pesaingnya. Inovasi utama adalah kompilasi just-in-time (JIT), jadi vendor browser lain perlu merombak mesin mereka untuk JIT Pada bulan Juli 2008, pihak-pihak yang berbeda ini berkumpul untuk sebuah konferensi di Oslo. Hal ini menyebabkan kesepakatan akhirnya pada awal 2009 untuk menggabungkan semua pekerjaan yang relevan dan memajukan bahasa. Hasilnya adalah standar ECMAScript 5, dirilis pada Desember 2009 Mencapai kedewasaanPekerjaan ambisius pada bahasa ini berlanjut selama beberapa tahun, yang berpuncak pada kumpulan ekstensif penambahan dan penyempurnaan yang diformalkan dengan publikasi ECMAScript 6 pada tahun 2015 Pembuatan Node. js pada tahun 2009 oleh Ryan Dahl memicu peningkatan signifikan dalam penggunaan JavaScript di luar browser web. Node menggabungkan mesin V8, event loop, dan I/O API, sehingga menyediakan sistem runtime JavaScript yang berdiri sendiri. Pada 2018, Node telah digunakan oleh jutaan pengembang, dan npm memiliki modul paling banyak dari pengelola paket mana pun di dunia Spesifikasi draf ECMAScript saat ini dikelola secara terbuka di GitHub, dan edisi diproduksi melalui snapshot tahunan reguler. Potensi revisi bahasa diperiksa melalui proses proposal yang komprehensif. Sekarang, alih-alih nomor edisi, pengembang memeriksa status fitur yang akan datang satu per satu Ekosistem JavaScript saat ini memiliki banyak pustaka dan kerangka kerja, praktik pemrograman yang mapan, dan penggunaan JavaScript yang substansial di luar browser web. Plus, dengan munculnya aplikasi satu halaman dan situs web berat JavaScript lainnya, beberapa transpiler telah dibuat untuk membantu proses pengembangan Merek dagang"JavaScript" adalah merek dagang dari Oracle Corporation di Amerika Serikat. Merek dagang tersebut awalnya dikeluarkan untuk Sun Microsystems pada 6 Mei 1997, dan dipindahkan ke Oracle ketika mereka mengakuisisi Sun pada 2009. Penggunaan sisi klien situs webJavaScript adalah bahasa skrip sisi klien yang dominan di Web, dengan 98% dari semua situs web (pertengahan 2022) menggunakannya untuk tujuan ini. Skrip disematkan atau disertakan dari dokumen HTML dan berinteraksi dengan DOM. Semua browser web utama memiliki mesin JavaScript bawaan yang mengeksekusi kode di perangkat pengguna Contoh perilaku tertulisPerpustakaan dan kerangka kerjaLebih dari 80% situs web menggunakan pustaka JavaScript pihak ketiga atau kerangka kerja web untuk skrip sisi klien mereka jQuery sejauh ini merupakan perpustakaan paling populer, digunakan oleh lebih dari 75% situs web. Facebook membuat perpustakaan Bereaksi untuk situs webnya dan kemudian merilisnya sebagai sumber terbuka; . Demikian pula, kerangka kerja Angular yang dibuat oleh Google untuk situs webnya, termasuk YouTube dan Gmail, kini menjadi proyek sumber terbuka yang digunakan oleh orang lain Sebaliknya, istilah "Vanilla JS" telah diciptakan untuk situs web yang tidak menggunakan pustaka atau kerangka kerja apa pun, alih-alih sepenuhnya mengandalkan fungsionalitas JavaScript standar Penggunaan lainnyaPenggunaan JavaScript telah berkembang melampaui akar browser webnya. Mesin JavaScript sekarang disematkan di berbagai sistem perangkat lunak lain, baik untuk penerapan situs web sisi server maupun aplikasi non-browser Upaya awal untuk mempromosikan penggunaan JavaScript sisi-server adalah Netscape Enterprise Server dan Microsoft's Internet Information Services, tetapi mereka hanya ceruk kecil. Penggunaan sisi server akhirnya mulai berkembang di akhir tahun 2000-an, dengan dibuatnya Node. js dan pendekatan lainnya Electron, Cordova, React Native, dan framework aplikasi lainnya telah digunakan untuk membuat banyak aplikasi dengan perilaku yang diimplementasikan dalam JavaScript. Aplikasi non-browser lainnya termasuk dukungan Adobe Acrobat untuk membuat skrip dokumen PDF dan ekstensi GNOME Shell yang ditulis dalam JavaScript JavaScript baru-baru ini mulai muncul di beberapa sistem tertanam, biasanya dengan memanfaatkan Node.js. js FiturFitur berikut adalah umum untuk semua implementasi ECMAScript yang sesuai kecuali secara eksplisit ditentukan sebaliknya Imperatif dan terstrukturJavaScript mendukung banyak sintaks pemrograman terstruktur dari C (mis. g. , Diketik dengan lemahJavaScript diketik dengan lemah, yang berarti jenis tertentu dilemparkan secara implisit tergantung pada operasi yang digunakan
Nilai dilemparkan ke string seperti berikut
Nilai dilemparkan ke angka dengan mentransmisikan ke string dan kemudian mentransmisikan string ke angka. Proses ini dapat dimodifikasi dengan mendefinisikan fungsi JavaScript telah menerima kritik atas caranya mengimplementasikan konversi ini karena kerumitan aturan dapat disalahartikan sebagai ketidakkonsistenan. Misalnya, saat menambahkan angka ke string, angka tersebut akan dilemparkan ke string sebelum melakukan penggabungan, tetapi saat mengurangkan angka dari string, string dilemparkan ke angka sebelum melakukan pengurangan. JavaScript type conversionsleft operandoperatorright operandresultwhile 6 (empty array)+ while 6 (empty array)while 9 (empty string)while 6 (empty array)+ switch 2 (empty object)switch 3 (string)switch 4 (boolean)+ while 6 (empty array)switch 7 (string)switch 8(string) Sering juga disebutkan adalah DinamisMengetik JavaScript diketik secara dinamis seperti kebanyakan bahasa skrip lainnya. Tipe dikaitkan dengan nilai daripada ekspresi. Misalnya, variabel yang awalnya terikat pada angka dapat dipindahkan ke string. JavaScript mendukung berbagai cara untuk menguji tipe objek, termasuk pengetikan bebek. Evaluasi run-timeJavaScript menyertakan fungsivar 6 yang dapat mengeksekusi pernyataan yang diberikan sebagai string saat run-timeOrientasi objek (berbasis prototipe)Warisan prototipe dalam JavaScript dijelaskan oleh Douglas Crockford sebagai
Dalam JavaScript, objek adalah larik asosiatif, ditambah dengan prototipe (lihat di bawah); . notasi titik ( while 3). ECMAScript 5 menawarkan metode let 1, memungkinkan pembuatan instance secara eksplisit tanpa secara otomatis mewarisi dari prototipe while 3 (lingkungan yang lebih lama dapat menetapkan prototipe ke let 3). Properti let _4 konstruktor menentukan objek yang digunakan untuk prototipe internal objek baru. Metode baru dapat ditambahkan dengan memodifikasi prototipe fungsi yang digunakan sebagai konstruktor. Konstruktor bawaan JavaScript, seperti let 5 atau while 3, juga memiliki prototipe yang dapat dimodifikasi. Meskipun dimungkinkan untuk memodifikasi prototipe while _3, ini umumnya dianggap praktik buruk karena sebagian besar objek dalam JavaScript akan mewarisi metode dan properti dari prototipe while 3, dan mereka mungkin tidak mengharapkan prototipe untuk dimodifikasi. Fungsi sebagai metode Tidak seperti banyak bahasa berorientasi objek, tidak ada perbedaan antara definisi fungsi dan definisi metode. Sebaliknya, perbedaan terjadi selama pemanggilan fungsi. ketika suatu fungsi dipanggil sebagai metode suatu objek, kata kunci lokal fungsi this terikat ke objek itu untuk pemanggilan ituFungsionalFungsi JavaScript kelas satu; . Dengan demikian, suatu fungsi dapat memiliki properti dan metode, seperti Apa itu jawaban JavaScript?JavaScript adalah bahasa pemrograman ringan yang ditafsirkan dengan kemampuan berorientasi objek yang memungkinkan Anda membangun interaktivitas ke dalam halaman HTML statis . Inti tujuan umum dari bahasa ini telah disematkan di Netscape, Internet Explorer, dan browser web lainnya.
Apa itu JavaScript dengan kata-kata Anda sendiri?JavaScript adalah bahasa pemrograman dinamis yang digunakan untuk pengembangan web, dalam aplikasi web, untuk pengembangan game, dan banyak lagi . Ini memungkinkan Anda untuk menerapkan fitur dinamis pada halaman web yang tidak dapat dilakukan hanya dengan HTML dan CSS.
Apa definisi dasar JavaScript?JavaScript adalah bahasa pemrograman yang menambahkan interaktivitas ke situs web Anda . Ini terjadi dalam game, dalam perilaku respons saat tombol ditekan atau saat memasukkan data ke formulir; .
Apa itu JavaScript dan mengapa digunakan?Javascript digunakan oleh pemrogram di seluruh dunia untuk membuat konten web yang dinamis dan interaktif seperti aplikasi dan browser . JavaScript sangat populer sehingga menjadi bahasa pemrograman yang paling banyak digunakan di dunia, digunakan sebagai bahasa pemrograman sisi klien oleh 97. 0% dari semua situs web. |