Bab ini merangkum secara singkat fitur-fitur JavaScript yang telah kita pelajari sekarang, dengan memberikan perhatian khusus pada momen-momen halus.
Pernyataan dibatasi dengan titik koma:
peringatan('Halo'); waspada('Dunia');
Biasanya, jeda baris juga diperlakukan sebagai pembatas, sehingga juga berfungsi:
waspada('Halo') waspada('Dunia')
Itu disebut “penyisipan titik koma otomatis”. Terkadang tidak berhasil, misalnya:
alert("Akan ada kesalahan setelah pesan ini") [1, 2].forEach(peringatan)
Sebagian besar panduan gaya kode setuju bahwa kita harus memberi tanda titik koma setelah setiap pernyataan.
Titik koma tidak diperlukan setelah blok kode {...}
dan konstruksi sintaksis dengannya seperti perulangan:
fungsi f() { // tidak diperlukan titik koma setelah deklarasi fungsi } untuk(;;) { // tidak diperlukan titik koma setelah perulangan }
…Tetapi bahkan jika kita dapat menempatkan titik koma “ekstra” di suatu tempat, itu bukanlah suatu kesalahan. Itu akan diabaikan.
Lebih lanjut di: Struktur kode.
Untuk sepenuhnya mengaktifkan semua fitur JavaScript modern, kita harus memulai skrip dengan "use strict"
.
'gunakan ketat'; ...
Arahan harus berada di bagian atas skrip atau di awal isi fungsi.
Tanpa "use strict"
, semuanya masih berfungsi, tetapi beberapa fitur berperilaku dengan cara yang kuno dan "kompatibel". Kami umumnya lebih menyukai perilaku modern.
Beberapa fitur bahasa modern (seperti kelas yang akan kita pelajari nanti) mengaktifkan mode ketat secara implisit.
Selengkapnya di: Mode modern, "gunakan ketat".
Dapat dideklarasikan menggunakan:
let
const
(konstan, tidak dapat diubah)
var
(gaya lama, lihat nanti)
Nama variabel dapat mencakup:
Huruf dan angka, namun karakter pertama tidak boleh berupa angka.
Karakter $
dan _
normal, setara dengan huruf.
Abjad dan hieroglif non-Latin juga diperbolehkan, namun umumnya tidak digunakan.
Variabel diketik secara dinamis. Mereka dapat menyimpan nilai apa pun:
misalkan x = 5; x = "Yohanes";
Ada 8 tipe data:
number
untuk bilangan floating-point dan integer,
bigint
untuk bilangan bulat dengan panjang sembarang,
string
untuk string,
boolean
untuk nilai logika: true/false
,
null
– tipe dengan nilai tunggal null
, artinya “kosong” atau “tidak ada”,
undefined
– tipe dengan nilai tunggal undefined
, yang berarti “tidak ditetapkan”,
object
dan symbol
– untuk struktur data yang kompleks dan pengidentifikasi unik, kami belum mempelajarinya.
Operator typeof
mengembalikan tipe suatu nilai, dengan dua pengecualian:
typeof null == "object" // kesalahan dalam bahasa typeof function(){} == "function" // fungsi diperlakukan secara khusus
Selengkapnya di: Variabel dan Tipe Data.
Kami menggunakan browser sebagai lingkungan kerja, jadi fungsi dasar UI adalah:
prompt(question, [default])
Ajukan question
, dan kembalikan apa yang dimasukkan pengunjung atau null
jika mereka mengklik “batal”.
confirm(question)
Ajukan question
dan sarankan untuk memilih antara Oke dan Batal. Pilihan dikembalikan sebagai true/false
.
alert(message)
Keluarkan message
.
Semua fungsi ini bersifat modal , mereka menghentikan sementara eksekusi kode dan mencegah pengunjung berinteraksi dengan halaman sampai mereka menjawab.
Misalnya:
biarkan namapengguna = prompt("Nama Anda?", "Alice"); let isTeaWanted = konfirmasi("Apakah Anda ingin teh?"); alert("Pengunjung: "+Nama Pengguna); // Alice alert("Teh yang diinginkan : " + isTeaWanted ); // BENAR
Selengkapnya di: Interaksi: peringatan, cepat, konfirmasi.
JavaScript mendukung operator berikut:
Aritmatika
Reguler: * + - /
, juga %
untuk sisa dan **
untuk pangkat suatu bilangan.
Biner plus +
menggabungkan string. Dan jika salah satu operan berupa string, operan lainnya juga akan diubah menjadi string:
peringatan('1'+2); // '12', rangkaian peringatan(1+'2'); // '12', rangkaian
Tugas
Ada tugas sederhana: a = b
dan tugas gabungan seperti a *= 2
.
Sedikit demi sedikit
Operator bitwise bekerja dengan bilangan bulat 32-bit pada level bit terendah: lihat dokumen saat diperlukan.
Bersyarat
Satu-satunya operator dengan tiga parameter: cond ? resultA : resultB
. Jika cond
benar, kembalikan resultA
, jika tidak resultB
.
Operator logika
Logis DAN &&
dan ATAU ||
melakukan evaluasi hubung singkat dan kemudian mengembalikan nilai di mana ia berhenti (tidak perlu true
/ false
). Logis BUKAN !
mengonversi operan menjadi tipe boolean dan mengembalikan nilai invers.
Operator penggabungan nol
itu ??
operator menyediakan cara untuk memilih nilai yang ditentukan dari daftar variabel. Hasil dari a ?? b
adalah a
kecuali jika null/undefined
, maka b
.
Perbandingan
Pemeriksaan kesetaraan ==
untuk nilai dengan tipe berbeda akan mengonversinya menjadi angka (kecuali null
dan undefined
yang sama satu sama lain dan tidak ada yang lain), sehingga keduanya sama:
peringatan( 0 == salah ); // BENAR peringatan( 0 == '' ); // BENAR
Perbandingan lainnya juga diubah menjadi angka.
Operator kesetaraan yang ketat ===
tidak melakukan konversi: tipe yang berbeda selalu berarti nilai yang berbeda.
Nilai null
dan undefined
adalah nilai istimewa: keduanya sama ==
satu sama lain dan tidak sama dengan nilai lainnya.
Perbandingan yang lebih besar/lebih kecil membandingkan string karakter demi karakter, tipe lainnya diubah menjadi angka.
Operator lain
Ada beberapa lainnya, seperti operator koma.
Selengkapnya di: Operator dasar, matematika, Perbandingan, Operator logika, Operator penggabungan nol '??'.
Kami membahas 3 jenis loop:
// 1 sementara (kondisi) { ... } // 2 Mengerjakan { ... } while (kondisi); // 3 untuk(misalkan i = 0; i < 10; i++) { ... }
Variabel yang dideklarasikan dalam perulangan for(let...)
hanya terlihat di dalam perulangan. Namun kita juga bisa menghilangkan let
dan menggunakan kembali variabel yang sudah ada.
Arahan break/continue
memungkinkan untuk keluar dari seluruh loop/iterasi saat ini. Gunakan label untuk memutus loop bersarang.
Detailnya di: Loop: while dan for.
Nanti kita akan mempelajari lebih banyak jenis loop untuk menangani objek.
Konstruk “switch” dapat menggantikan beberapa pemeriksaan if
. Ia menggunakan ===
(persamaan ketat) untuk perbandingan.
Misalnya:
let age = prompt('Umur Anda?', 18); beralih (usia) { kasus 18: alert("Tidak bisa"); // hasil dari prompt adalah string, bukan angka merusak; kasus "18": alert("Berhasil!"); merusak; bawaan: alert("Setiap nilai tidak sama dengan satu di atas"); }
Detailnya di: Pernyataan "saklar".
Kami membahas tiga cara untuk membuat fungsi di JavaScript:
Deklarasi Fungsi: fungsi dalam aliran kode utama
fungsi jumlah(a, b) { misalkan hasil = a + b; hasil pengembalian; }
Ekspresi Fungsi: fungsi dalam konteks ekspresi
misalkan jumlah = fungsi(a, b) { misalkan hasil = a + b; hasil pengembalian; };
Fungsi panah:
// ekspresi di sisi kanan misalkan jumlah = (a, b) => a + b; // atau sintaks multi-baris dengan { ... }, perlu dikembalikan ke sini: misalkan jumlah = (a, b) => { // ... kembalikan a+b; } // tanpa argumen misalkan sayHi = () => alert("Halo"); // dengan satu argumen misalkan ganda = n => n * 2;
Fungsi mungkin memiliki variabel lokal: yang dideklarasikan di dalam isi atau daftar parameternya. Variabel tersebut hanya terlihat di dalam fungsi.
Parameter dapat memiliki nilai default: function sum(a = 1, b = 2) {...}
.
Fungsi selalu mengembalikan sesuatu. Jika tidak ada pernyataan return
, maka hasilnya adalah undefined
.
Detail: lihat Fungsi, Fungsi panah, dasar-dasarnya.
Itu tadi daftar singkat fitur JavaScript. Saat ini kami hanya mempelajari dasar-dasarnya. Lebih lanjut dalam tutorial ini Anda akan menemukan lebih banyak fitur spesial dan lanjutan dari JavaScript.