Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JavaScript
Code

Apakah JavaScript?

by
Difficulty:BeginnerLength:LongLanguages:

Malay (Melayu) translation by Fatimah (you can also view the original English article)

Untuk mengatakan bahawa JavaScript semakin meningkat dalam pembangunan web akan menjadi kenyataan. Malah, bertahun-tahun yang lalu, pengaturcara terkenal Jeff Atwood mencipta Undang-undang Atwood di mana dia menyatakan :

Apa-apa permohonan yang boleh ditulis dalam JavaScript, akhirnya akan ditulis dalam JavaScript.

 Pada masa penulisan artikel ini, terdapat banyak kerangka kerja JavaScript dan perpustakaan yang sangat menggembirakan untuk mengetahui di mana untuk bermula, terutama jika anda seorang pemula. 

Dan saya tahu, kebanyakan daripada apa yang kami menerbitkan di sini ditujukan kepada mereka yang sudah mempunyai pengalaman dalam menulis aplikasi web atau melakukan sesuatu dalam pembangunan web.  Tetapi itu bukan penonton sasaran untuk artikel ini.

Sebaliknya, ini ditulis secara khusus untuk anda yang tidak pernah (atau hampir) menulis barisan JavaScript, dan ingin mengetahui lebih lanjut mengenai bahasa dan memahami apa yang ada di sini.  Tambahan pula, kami ingin membincangkan bagaimana ia digunakan dan apa yang diharapkan daripadanya. 

Pendek kata, jika anda seorang profesional berpengalaman, maka artikel ini bukan untuk anda; Walau bagaimanapun, jika anda tertarik untuk masuk ke JavaScript tetapi tidak pasti di mana untuk bermula, maka mungkin buku asas ini akan membantu menetapkan anda ke arah yang betul.

Pelajari JavaScript: Panduan Lengkap 

Ditakrifkan JavaScript

Anda mungkin mendengar JavaScript dirujuk sebagai "bahasa skrip sampingan klien", yang merupakan cara lain untuk mengatakan bahawa ia adalah bahasa pengaturcaraan yang berjalan dalam pelayar web.

Alternatif lain, Wikipedia mendefinisikannya seperti ini : 

JavaScript adalah bahasa pemrograman tingkat tinggi, dinamis, tidak tergores, dan diinterpretasi.  Ini telah distandarkan dalam spesifikasi bahasa ECMAScript.

Semua hal di atas benar (dengan berbagai tingkat kerumitan), tetapi juga perlu dicatat bahwa JavaScript dapat berjalan di sisi server juga.  Itu lebih maju dari diri kita sendiri.  Sebagai gantinya, mari kita bahas tentang beberapa poin di atas dan kita akan membahas tentang JavaScript sisi server nanti di artikel. 

  • Tahap Tinggi .  Apabila bahasa pengaturcaraan adalah tahap tinggi, ia dianggap sebagai satu yang dibina tanpa memerlukan maklumat yang lebih jelas tentang komputer yang mendasarinya.  Anda tidak perlu menguruskan memori, anda tidak perlu tahu apa jenis pemproses sedang berjalan, dan anda tidak perlu berurusan dengan perkara seperti petunjuk (seperti dalam bahasa seperti C atau Perhimpunan).
  • Dinamik .  Bahasa yang dinamik membenarkan pemaju untuk memperluaskan aspek tertentu bahasa dengan menambah kod baru atau memperkenalkan objek baru (seperti objek Post ) sementara program berjalan lawan memerlukan mengkompilasi program.  Ini adalah ciri kuat JavaScript.
  • Untung . Jika anda mempunyai pengalaman pengaturcaraan, maka anda mungkin akan menjumpai beberapa jenis bahasa yang memerlukan anda untuk mengisytiharkan jenis pemboleh ubah yang anda gunakan.  Misalnya, mungkin variabel Anda akan menyimpan string atau boolean .   Dalam JavaScript, ini tidak perlu. Sebaliknya, anda hanya mengisytiharkan pembolehubah dengan kata kunci var .
  • Diterjemahkan . Apabila bahasa adalah bahasa yang disusun, kod yang anda tulis akan ditukar menjadi binari boleh laku yang anda boleh mengedarkan kepada orang lain.  Di Windows, file-file ini dikenal sebagai file EXE.  Pada OS X, ini sering program yang anda muat turun dari App Store atau yang anda seret ke dalam direktori Aplikasi anda.  JavaScript ditafsirkan, bermakna tiada pengkompil. Sebaliknya, kod itu ditafsirkan (seperti PHP), jadi terdapat perisian perantaraan yang dipanggil penterjemah yang duduk di antara kod yang anda tulis dan komputer untuk menterjemahkan arahan ke belakang dan sebagainya.
  • Diperkayakan .  JavaScript diseragamkan (nama rasminya ialah ECMAScript ) yang bermaksud bahawa mana-mana pelayar yang melaksanakan standard akan menawarkan ciri yang sama seperti pelayar lain.  Sekiranya tidak diseragamkan maka Chrome mungkin menyediakan beberapa ciri yang Edge tidak dan sebaliknya.

Sekarang kita telah membincangkan sifat-sifat bahasa tersebut, kita boleh membincangkan aspek-aspek dan nuansa tertentu mengenai bahasa tersebut.

Meskipun semua hal di atas penting, penting juga untuk mengetahui bagaimana bahasa bekerja (terutama jika Anda telah bekerja dengan bahasa lain) sehingga Anda tidak masuk ke pengembangan dengan ide-ide yang sudah dipikirkan sebelumnya bagaimana cara kerjanya atau bagaimana seharusnya berhasil. 

Sebaliknya, saya lebih suka memikirkan bagaimana ia berfungsi supaya anda boleh mula menulis kod dan memahami dengan tepat apa yang anda lakukan.

Mengenai Bahasa

Di atas segalanya, JavaScript adalah bahasa pemrograman berorientasi objek, tetapi kemungkinannya sedikit berbeda dari apa yang biasanya Anda lihat (jika sebelumnya Anda menggunakan bahasa pemrograman berorientasi objek). 

JavaScript adalah apa yang dipanggil bahasa prototip.  Ini bermakna semua objek dalam JavaScript, seperti String , adalah berdasarkan kepada prototaip.

 Ini membolehkan kami, sebagai pemaju, menambah fungsi tambahan kepada objek melalui penggunaan warisan prototaip :

Pengaturcaraan berasaskan prototaip adalah gaya pemrograman berorientasikan objek di mana penggunaan semula tingkah laku (dikenali sebagai warisan) dilakukan melalui proses pengklonan objek sedia ada yang berfungsi sebagai prototaip.

Saya akan berhujah bahawa jika anda tidak pernah bekerja dengan bahasa berorientasikan objek sebelum ini, maka anda mungkin mempunyai kelebihan pada masa ini kerana anda tidak mempunyai model konseptual untuk beralih untuk berfikir tentang bagaimana ini berfungsi.

Jika, sebaliknya, anda telah bekerja dalam jenis bahasa ini maka saya fikir ia bernilai membezakan bagaimana warisan prototip berbeza dari warisan klasik: 

  • Dalam warisan klasik , kami, sebagai pemaju,akan menulis kelas. Objek berganda boleh dibuat dari kelas tunggal ini.  Tambahan pula, kita boleh menulis satu lagi kelas yang mewarisi dari kelas ini dan kemudian membuat contoh-contoh kelas tersebut.  Dalam keadaan ini, subclass adalah kod berkongsi dengan kelas asas mereka.  Oleh itu, apabila anda membuat contoh subclass, anda mendapat fungsi subclass dan kelas induk.
  • Dalam warisan prototaip , tidak ada perkara seperti kelas.  Sebaliknya, anda hanya menentukan objek dan memperkenalkan fungsi apa pun yang diperlukan.  Apabila anda ingin menambah fungsi pada objek yang sedia ada, anda melakukannya dengan menambahkannya ke prototaip objek.  Jika anda cuba memanggil kaedah pada objek seperti Number maka ia akan mula mencari kaedah pada objek tersebut.  Jika ia tidak menemuinya, maka ia akan bergerak ke rantai sehingga ia mendapati kaedah (yang mungkin hidup di Object asas).

Akhirnya, dan mungkin perkara yang paling penting untuk diperhatikan, ialah apabila anda membuat perubahan kepada objek melalui prototaipnya, maka ia boleh diakses oleh semua orang yang menggunakan objek tersebut (sekurang-kurangnya dalam konteks persekitaran anda).

 Ia sangat kuat, ia benar-benar keren, tetapi ia juga mengambil sedikit perubahan dalam pemikiran jika anda tidak digunakan untuk bekerja dalam persekitaran seperti itu.

Bagaimana Kami Menggunakan JavaScript? 

Dari segi cara kami menggunakan Javascript untuk digunakan, ia bergantung pada tujuan anda.  Pada satu ketika, bekerja dengan JavaScript bermakna anda perlu "membuat sesuatu berlaku" di laman web.  Ia bertujuan untuk mengawal tingkah laku. 

Ini boleh memperkenalkan elemen, mengeluarkan (atau bersembunyi) elemen, atau perkara-perkara seperti itu.  Kemudian web maju sedikit dan penyemak imbas dapat membuat panggilan asynchronous ke pelayan, mengendalikan respons, dan kemudian mengubah keadaan halaman berdasarkan respons ini.

Semua ini dicapai melalui Ajax .  Jika anda membaca ini, anda mungkin sudah biasa dengan istilah ini.  Sekiranya anda tidak, anda boleh memikirkannya sebagai cara JavaScript untuk membuat panggilan ke pelayan hosting halaman dan kemudian mengendalikan respons yang diterima semua tanpa memuat semula halaman .

Tetapi ia sudah matang walaupun di luar itu. 

Google telah membangunkan enjin parsing JavaScript yang sangat canggih yang dikenali sebagai V8 , dan pelayar lain sedang berusaha untuk menyediakan prestasi JavaScript yang optimum juga.

The landing page for Chrome V8 Googles JavaScript Engine

Malah, kami kini dapat menulis JavaScript pada pelayan menggunakan alat seperti Node.js.  Selain itu, kami juga dapat membina aplikasi hibrid yang berjalan pada peranti mudah alih kami.  Ini bermakna kami dapat membina penyelesaian untuk telefon kami, tablet kami, dan komputer desktop kami melalui penggunaan JavaScript.

The homepage for Nodejs a runtime engine for writing JavaScript on the server

Dan ini datang dari bahasa yang pernah digunakan sebagai cara untuk menghidupkan sesuatu pada skrin.  Semua ini dikatakan bahawa jika anda baru untuk JavaScript, jangan memandang rendah. 

"Apa yang Harus Saya Harapkan Dari Bahasa?" 

Semua perkara di atas menarik untuk dibaca, dan ia menyeronokkan untuk melihat apa yang boleh kami lakukan, tetapi dari sudut pandang praktikal, apa yang boleh kita harapkan dari bahasa JavaScript?

Tidak kira sama ada anda baru kepada bahasa atau anda ingin mempelajari bahasa baru apabila anda datang dari latar belakang yang lain, anda mempunyai tahap harapan tentang apa yang boleh ditawarkan oleh bahasa itu. 

Dan walaupun kita telah membincangkan bagaimana bahasa itu berfungsi dari perspektif dalaman, kita tidak benar-benar bercakap tentang objek yang tersedia dalam bahasa, apalagi API. Sejujurnya, yang meliputi API dan fungsi terbina dalam bahasa itu akan menjadi satu artikel yang tersendiri.  Tetapi meliputi objek terbina dalamnya? Itulah sesuatu yang boleh kita semak sebelum menamatkan artikel ini:

Tetapi meliputi objek terbina dalamnya?  Itulah sesuatu yang boleh kita semak sebelum menamatkan artikel ini:

  • Objek .  Objek asas yang mana semua objek lain mewarisi beberapa fungsi asas mereka. 
  • Fungsi .  Oleh kerana JavaScript benar-benar berorientasi objek, ini bermakna bahawa semuanya adalah objek, termasuk fungsi.  Oleh itu, apabila anda membuat fungsi baru, anda membuat rujukan kepada objek dengan jenis Fungsi.  Dan fungsi mempunyai sifat yang boleh anda periksa semasa runtime (seperti hujah-hujah yang diterimanya). 
  • Boolean .  Objek ini berfungsi sebagai pembungkus objek untuk nilai boolean.  Dalam banyak bahasa, boolean adalah jenis data yang sama ada true atau false .  Dalam JavaScript, anda masih boleh bekerja dengan nilai-nilai tersebut, tetapi ia harus difahami sebagai objek.
  • Nombor .  Dalam banyak bahasa pengaturcaraan, terdapat jenis primitif seperti float , int , double , dan sebagainya.  Dalam JavaScript, terdapat hanya jenis nombor, dan ia juga merupakan objek. 
  • Tarikh .  Bekerja dengan tarikh dalam pengaturcaraan tidak pernah menyeronokkan, terutamanya apabila anda memperkenalkan zon masa.  Saya tidak dapat mengatakan bahawa JavaScript akan menyelesaikan semua masalah anda kerana ia berkaitan dengan zon waktu, tetapi ia dapat menjadikannya lebih mudah bekerja dengan tarikh (sepanjang jalan dari tahun ke bulan hingga hari, jam, minit dan kedua).
  • String .  Hampir setiap bahasa pengaturcaraan mempunyai jenis data rentetan primitif.  avaScript tidak begitu berbeza kecuali yang anda harapkan, rentetan adalah objek dengan sifatnya sendiri.

Ingat bahawa semua jenis yang anda lihat di atas adalah objek dengan sifat (dan fungsi) mereka sendiri yang boleh anda panggil.  Ini tidak bermakna anda perlu memanggil pembina untuk membuat pemboleh ubah anda.  Iaitu, anda boleh membuat rentetan dan boolean dan nombor seperti ini:

Tetapi, pada akhirnya, mereka masih objek.

Untuk menjadi jelas, ini adalah objek asas .  Terdapat objek jauh lebih maju yang bernilai meneroka, terutamanya jika anda akan bekerja dengan pengendalian ralat, pelbagai jenis koleksi di luar Arrays, dan sebagainya. 

Sekiranya anda berminat untuk membaca lebih lanjut mengenai ini, maka saya sangat mengesyorkan menyemak halaman ini dalam Rangkaian Pembangun Mozilla.

Apa Perpustakaan dan Rangka Kerja yang Tersedia? 

Sekiranya anda mengikuti pelbagai rangka kerja, perpustakaan, dan alat lain yang ada di dalam ekonomi JavaScript, maka anda tidak dapat memahami betapa bertambahnya ekonomi. 

Tetapi artikel ini menargetkan mereka yang ingin memulakan JavaScript.  Kini, anda mempunyai pemahaman asas bagaimana bahasa itu tersusun dan bagaimana ia berfungsi, sudah tiba masanya untuk melihat perpustakaan dan rangka kerja yang ditawarkan untuk membantu meredakan perkembangan web dan / atau aplikasi.

  • jQuery adalah sebuah perpustakaan yang bertujuan menyediakan API pelintas silang yang membolehkan anda "menulis kurang, berbuat lebih banyak." 
  • Sudut adalah rangka kerja JavaScript yang bertujuan untuk memudahkan aplikasi satu halaman bangunan.
  • React adalah perpustakaan JavaScript untuk membina antara muka pengguna. 
  • Backbone bertujuan untuk memberikan struktur kepada aplikasi web melalui penggunaan model, koleksi, dan pandangan. 
  • Ember.js adalah rangka kerja lain untuk "mewujudkan aplikasi web yang bercita-cita tinggi". 
  • Dan banyak lagi.

Ini jauh dari senarai lengkap apa yang tersedia, tetapi ia adalah permulaan, dan ia adalah beberapa pilihan yang mereka kenal dengan JavaScript sekurang-kurangnya harus sedar, walaupun anda tidak melakukan apa-apa kerja dengan mereka. 

Dan semasa anda mula belajar JavaScript dan mula mengambil beberapa alat ini, anda mungkin mendapati betapa popularnya sebahagian dari mereka ketika datang ke beberapa aplikasi kegemaran anda sendiri.

Belajar JavaScript 

Seperti yang anda jangkakan, Envato adalah untuk "kemahiran mengajar untuk berjuta-juta di seluruh dunia".  Jadi apa yang akan menjadi jawatan seperti ini jika tidak termasuk pautan ke beberapa artikel dan kursus JavaScript yang lebih popular?

Semua sumber-sumber ini sesuai untuk bermula dengan JavaScript dan menambahkannya ke repertoir kemahiran pembangunan web anda.

Kesimpulannya 

Ketika datang ke pembangunan web, JavaScript di sini untuk tinggal.  Walaupun anda tidak boleh menggunakan apa yang dianggap "JavaScript vanili" dan memilih salah satu dari banyak perpustakaan dan / atau rangka kerja yang tersedia, JavaScript adalah bahasa yang hampir setiap pengembang web harus tahu.

 Sudah tentu, tidak semua orang bekerja di bahagian depan.  Sesetengahnya adalah pemaju sampingan pelayan;  sesetengahnya adalah pemaju sampingan semata-mata. Walau bagaimanapun, kita semua perlu bekerjasama untuk memastikan pelbagai bahagian aplikasi kami berkomunikasi dengan satu sama lain.

Untuk itu, sekurang-kurangnya penting untuk memahami bagaimana data dari pihak klien dihantar ke sisi server melalui JavaScript, dan bagaimana ia diproses di sisi server dan kemudian dikembalikan kepada pihak klien untuk digunakan dalam apa cara . 

Jangan begitu cepat untuk menghapus JavaScript hanya kerana anda bukan pemaju front-end.  Kebingungan adalah, seseorang yang anda bekerjasama menggunakannya dan akan memerlukan kerja anda untuk mengikat bahagian aplikasi bersama-sama.

Memang, artikel ini hanya menggaru permukaan.  Sebagaimana yang saya katakan pada mulanya, tujuan artikel ini adalah untuk menerangkan JavaScript, bagaimana ia digunakan, dan apa yang diharapkan daripadanya, terutamanya bagi mereka yang baru bermula dengan bahasa itu. 

Jika anda telah menikmati artikel ini, anda juga boleh menyemak kursus dan tutorial saya di halaman profil saya , dan, jika anda berminat, anda boleh membaca lebih banyak artikel khususnya mengenai perkembangan WordPress dan WordPress di blog saya .

Sumber tambahan 

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.