Variabel JavaScript. Konstanta

Bekerja di Javascript, kita bisa memasukkan nilai numerik, string dan boolean, tetapi mereka bekerja jika program berisi informasi yang diperlukan. Untuk ini, variabel telah dibuat yang memungkinkan Anda menyimpan berbagai jenis informasi dalam dirinya sendiri dan seperti semacam wadah yang dapat kita putar kapan saja dan mendapatkan informasi yang ada di dalamnya.

Pembuatan variabel

Variabel dibuat dalam dua langkah: mendeklarasikan variabel dan menamainya.

Pertama, kita harus mendeklarasikan variabel, yaitu mendeklarasikannya, ini dilakukan dengan menggunakan kata kunci var. Selanjutnya kita tulis instruksinya, ini nama variabelnya, namanya seperti yang akan kita referensikan, misal saya akan menulis dwstv.


Cara menamai variabel, tentu saja, terserah Anda, tetapi ada beberapa aturan yang harus diikuti agar javascript berfungsi:

  • aturan pertama, hindari menggunakan kata-kata khusus... Kata-kata tertentu dalam JavaScript digunakan dalam sistem itu sendiri, seperti kata var yang kita gunakan untuk mendeklarasikan variabel. Selain itu, beberapa kata seperti peringatan, dokumen, jendela dianggap sebagai properti khusus halaman web. Jika Anda mencoba menggunakannya sebagai variabel, Anda akan mendapatkan pesan kesalahan. Di sini Anda dapat melihat daftar kata-kata yang dipesan.
  • aturan kedua, nama variabel harus dimulai dengan huruf, $ atau _... Artinya, variabel tidak dapat dimulai dengan angka atau tanda baca: nama 1dwstv dan & dwstv tidak akan berfungsi, tetapi nama $ dwstv dan _dwstv akan berfungsi.
  • aturan ketiga, nama variabel dapat berisi huruf, angka, simbol $ dan _, dan spasi atau karakter khusus lainnya tidak dapat digunakan dalam nama: dws & tv dan dws tv adalah nama yang tidak valid, tetapi format ini dapat berupa dws_tv dan dwstv1 atau dws_tv_1.
  • aturan keempat, nama variabel peka huruf besar kecil... Interpreter JavaScript mengartikan huruf kecil dan huruf besar secara berbeda, yaitu variabel DWSTV berbeda dari variabel dwstv, dan juga dari variabel DwStv dan Dwstv.
  • aturan kelima, n tidak disarankan untuk menggunakan karakter selain Latin, variabel yang ditulis dalam Cyrillic, meskipun akan berfungsi, tidak dijamin, selain itu, variabel tersebut tidak akan dipahami oleh kolega dari negara lain.

Ini adalah lima aturan utama yang saya sarankan untuk diikuti, selain itu saya juga ingin mengatakan, berikan nama yang jelas dan ekspresif ke variabel Anda. Beri nama variabel sesuai dengan jenis data yang Anda simpan di dalamnya, ini akan membantu Anda lebih memahami apa yang tertulis, dan melihat variabel seperti itu, akan jelas tentang apa pidato itu.

Saat menamai variabel, cobalah membuatnya mudah dibaca. Saat menggunakan beberapa kata, tambahkan garis bawah di antaranya, atau mulai setiap kata setelah kata pertama dengan huruf kapital. Misalnya, dwsTv atau dws_tv.

Menggunakan variabel

Di awal pelajaran, kami memilah-milah terdiri dari apa variabel, sekarang, ketika kami tahu cara membuatnya, kami dapat menyimpan tipe data apa pun di dalamnya sesuai kebijaksanaan kami.

Untuk memasukkan data ke dalam variabel, digunakan simbol khusus, yaitu tanda sama dengan (\u003d) operasi penugasankarena digunakan untuk menetapkan nilai ke variabel.


Misalnya, taruh nilai digital di variabel dwstv, jumlah pelanggan 8500, kami mendeklarasikan variabel var dwstv; dan di baris kedua kita beri nilai dwstv \u003d 8500;

Var dwstv; dwstv \u003d 7200;

Jadi, di baris pertama kami membuat variabel, dan di baris kedua kami menyimpan nilainya. Kita juga bisa membuat variabel dan menyimpan nilai di dalamnya dengan satu instruksi, misalnya:

Var dwstv \u003d 7200;

Dalam sebuah variabel, kita dapat menyimpan tipe data apa pun yang kita pelajari di pelajaran sebelumnya, ini bisa berupa nilai numerik, string, dan boolean:

Var dwstv \u003d 7200; var lesson \u003d ‘JavaScript’; var youtubeKanal \u003d 'DwsTV'; var subscriber \u003d ‘7700’; var content \u003d true;

Kami juga dapat menghemat ruang, waktu, mendeklarasikan variabel dengan satu kunci var, misalnya:

Var pelajaran \u003d ‘JavaScript’, youtubeKanal \u003d ‘DwsTV’, pelanggan \u003d ‘7700’, konten \u003d true;

Setelah kami menyimpan nilai dalam variabel, kami memiliki kesempatan untuk mengakses data ini. Untuk melakukan ini, cukup gunakan nama variabel itu sendiri.

Misalnya, jika kita perlu membuka dialog peringatan dan menampilkan nilai yang disimpan di variabel kanal, kita hanya perlu menulis nama variabel di fungsi peringatan.

Alert (kanal);

Perhatikan bahwa kami tidak menyertakan variabel dalam tanda kutip - variabel tersebut hanya untuk string, jadi kami tidak menulis peringatan (‘kanal’), karena dalam kasus ini kami akan mendapatkan kata kanal, bukan nilai yang disimpan dalam variabel.

Sekarang saya pikir Anda sudah tahu mengapa string harus dikutip: penerjemah javaScript memperlakukan kata-kata tanpa tanda kutip baik sebagai objek khusus (misalnya, perintah alert ()), atau sebagai nama variabel.

Dan ada juga saat kita mendeklarasikan sebuah variabel dengan kata kunci var, dan kita ingin mengubah nilai variabel tersebut, tidak perlu mendeklarasikan ulang dengan menulis kata var, cukup dengan memanggil nama variabel dan memberikan nilai baru padanya.

Pelanggan \u003d ‘10000’;

Di akhir pelajaran ini, saya ingin mengatakan bahwa dengan mempelajari bahasa apa pun, Anda tidak akan belajar membuat program. Tidak diragukan lagi, Anda akan mempelajari sesuatu yang baru, tetapi kemungkinan besar otak Anda tidak akan mengingat informasi ini, karena Anda tidak mengerjakannya. Tidak mungkin belajar bahasa tanpa latihan, jadi dari pelajaran ini Anda mendapatkan tugas kecil sehingga informasi yang diberikan akan sesuai dengan Anda dan Anda dapat mengerjakannya.

Tugas praktis:

Buat tiga variabel, satu dengan nilai numerik, yang kedua dengan nilai string, dan yang ketiga dengan nilai boolean. Deklarasikan semua variabel dengan satu var kata kunci, dan tampilkan di halaman. Kemudian ganti variabel dengan nilai numerik, dan tampilkan hasilnya menggunakan fungsi alert ().


Di awal video berikutnya, kami akan menganalisis masalah ini, membagikan hasil Anda di komentar, menulis jika ada yang memiliki pertanyaan. Siapa pun yang menyukai pelajaran dan ingin mendukung proyek ini, cukup bagikan di jejaring sosial.

Dalam pelajaran berikutnya, kita akan melihat lebih dekat bagaimana bekerja dengan tipe data dan variabel, mengenal operasi matematika dan urutan pelaksanaannya, dan juga menganalisis metode untuk menggabungkan nilai string dan numerik.

Pelajaran disiapkan oleh Gorelov Denis.

Variabel adalah blok bangunan fundamental dari banyak bahasa pemrograman; mereka adalah salah satu konsep terpenting bagi calon programmer. JavaScript memiliki banyak properti yang berbeda untuk variabel, serta beberapa aturan yang harus diikuti saat menamainya. JavaScript memiliki tiga kata kunci yang digunakan untuk mendeklarasikan variabel - var, let, dan const - dan masing-masing memengaruhi cara variabel diinterpretasikan dalam kode Anda.

Tutorial ini akan memperkenalkan Anda pada variabel, cara mendeklarasikan dan menamainya, dan menjelaskan perbedaan antara var, let, dan const. Selain itu, Anda akan mempelajari apa yang dimaksud dengan pengangkatan variabel dan bagaimana cakupan memengaruhi perilaku variabel.

Apa itu variabel

Variabel adalah potongan memori bernama yang digunakan untuk menyimpan nilai yang berbeda. Sepotong informasi yang dapat dirujuk beberapa kali dapat disimpan dalam variabel untuk digunakan atau dimodifikasi nanti. Dalam JavaScript, nilai yang terkandung dalam variabel dapat berupa tipe data apa pun, termasuk angka, string, atau objek.

Sebelum spesifikasi bahasa ECMAScript 2015 (ES6), yang saat ini menjadi dasar JavaScript, hanya ada satu cara untuk mendeklarasikan variabel - menggunakan kata kunci var. Oleh karena itu, sebagian besar kode dan manual lama hanya menggunakan var untuk mendeklarasikan variabel. Mari kita lihat perbedaan antara var, let dan const.

Kata kunci var memungkinkan Anda mendemonstrasikan konsep variabel itu sendiri. Pada contoh di bawah ini, kami mendeklarasikan sebuah variabel dan memberikan nilai padanya.

// Tetapkan nilai string 8host ke pengenal nama pengguna
var namapengguna \u003d "8host_blog";

Ekspresi ini memiliki beberapa bagian:

  • Mendeklarasikan variabel menggunakan kata kunci var;
  • Nama variabel (atau pengenal), nama pengguna;
  • Operator penugasan, diwakili oleh sintaks \u003d;
  • Nilai yang ditetapkan adalah "8host_blog".

Sekarang Anda dapat menggunakan variabel nama pengguna dalam kode Anda. JavaScript akan mengingat bahwa nama pengguna mewakili nilai 8host_blog.

// Periksa apakah variabel sama dengan nilai
if (namapengguna \u003d\u003d\u003d "8host_blog") (
console.log (benar);
}
benar

Seperti yang disebutkan sebelumnya, variabel dapat diekspresikan dengan tipe data JavaScript apa pun. Dalam contoh ini, variabel dinyatakan sebagai string, number, object, boolean, dan null.

// Penugasan berbagai variabel
var name \u003d "Morty";
var spartans \u003d 300;
var kingdoms \u003d ["mamalia", "burung", "ikan"];
var poem \u003d (mawar: "merah", violet: "biru");
var sukses \u003d benar;
var tidak ada \u003d null;

Menggunakan console.log, Anda dapat melihat nilai variabel apa pun:

// Kirim variabel spartan ke konsol
console.log (spartans);
300

Variabel menyimpan data dalam memori yang nantinya dapat digunakan atau dimodifikasi. Variabel juga dapat ditetapkan ulang dan diberi nilai baru. Contoh sederhana di bawah ini menunjukkan bagaimana kata sandi dapat disimpan dalam variabel dan kemudian diperbarui.

// Tetapkan nilai ke variabel kata sandi
var password \u003d "hunter2";
// Menetapkan kembali nilai variabel dengan nilai baru
password \u003d "hunter3";
console.log (kata sandi);
"pemburu3"

Dalam program nyata, kata sandi kemungkinan besar disimpan dengan aman di database. Namun, contoh sederhana ini menggambarkan situasi di mana Anda dapat memperbarui nilai variabel. Nilai variabel kata sandi adalah hunter2, tetapi itu diberi nilai baru, hunter3, dan sekarang JavaScript akan menggunakan nilai baru.

Penamaan variabel

Dalam JavaScript, nama variabel disebut pengenal. Beberapa aturan untuk pengenal penamaan dapat ditemukan di manual. Inilah mereka secara singkat:

  • Nama variabel hanya boleh berisi huruf, angka (0-9), tanda dolar ($), dan garis bawah (_).
  • Nama variabel tidak boleh berisi karakter spasi.
  • Nama variabel tidak boleh dimulai dengan angka.
  • Ada beberapa kata kunci yang dipesan yang tidak dapat digunakan sebagai nama variabel.
  • Nama variabel peka huruf besar / kecil.

JavaScript juga memiliki konvensi camelCase untuk fungsi dan nama variabel yang dideklarasikan dengan var or let. Dalam hal ini, kata pertama ditulis dengan huruf kecil, dan setiap kata berikutnya dimulai dengan huruf kapital (kata ditulis tanpa spasi di antaranya). Sebagian besar variabel yang bukan konstanta akan mengikuti konvensi ini, dengan beberapa pengecualian. Nama variabel yang merupakan konstanta (dideklarasikan dengan kata kunci const) biasanya ditulis dalam huruf besar.

Tampaknya ada beberapa aturan, tetapi tampaknya hanya pada pandangan pertama. Saat sering bekerja dengan JavaScript, Anda akan segera mengingatnya.

Perbedaan antara var, let dan const

JavaScript menggunakan tiga kata kunci berbeda untuk mendeklarasikan variabel, yang menambah lapisan kerumitan ekstra. Kata kunci ini berbeda dalam cakupan variabel, pengangkatan, dan penugasan ulang.

Anda mungkin bertanya-tanya mana dari tiga kata kunci yang harus Anda gunakan dalam program Anda. Ini adalah praktik umum untuk menggunakan const sesering mungkin, dan membiarkan loop masuk dan untuk penugasan ulang. Biasanya var digunakan dalam kode lama.

Cakupan JavaScript

Cakupan dalam JavaScript mengacu pada konteks kode saat ini yang menentukan aksesibilitas variabel. Cakupannya bisa lokal dan global:

  • Variabel global adalah variabel yang dideklarasikan di luar blok.
  • Variabel lokal adalah variabel yang dideklarasikan di dalam blok.

Pada contoh di bawah ini, kami akan membuat variabel global.


var makhluk \u003d "serigala";

Anda tahu bahwa variabel dapat ditetapkan kembali. Dalam lingkup lokal, Anda dapat membuat variabel baru dengan nama yang sama seperti variabel di lingkup luar tanpa mengubah atau menimpa nilai asli.

Contoh di bawah ini membuat spesies variabel global. Di dalam fungsinya, ada variabel lokal dengan nama yang sama. Dengan mengirimkannya ke konsol, Anda akan melihat bahwa nilai variabel berbeda-beda bergantung pada cakupan, tetapi nilai asli tidak berubah.

// Inisialisasi variabel global
var spesies \u003d "manusia";
function transform () (
// Inisialisasi variabel lokal dengan cakupan fungsi
var species \u003d "werewolf";
console.log (spesies);
}
// Catat variabel global dan lokal
console.log (spesies);
transform ();
console.log (spesies);
manusia
manusia serigala
manusia

Dalam contoh ini, variabel lokal dibatasi pada tingkat fungsi. Variabel yang dideklarasikan dengan kata kunci var selalu termasuk dalam cakupan ini (artinya, mereka mengenali fungsi sebagai memiliki cakupan terpisah). Jadi variabel lokal tidak tersedia dalam lingkup global.

Namun, kata kunci let dan const baru memiliki cakupan blok. Ini berarti bahwa cakupan lokal baru dibuat dari blok mana pun, termasuk blok fungsi, pernyataan if, dan for dan while loop.

Untuk menggambarkan perbedaan antara fungsi dan variabel level blok, buat variabel baru di blok if menggunakan let.

var fullMoon \u003d true;
// Inisialisasi variabel global
biarkan spesies \u003d "manusia";
jika (fullMoon) (
// Inisialisasi variabel dengan cakupan blok
biarkan spesies \u003d "manusia serigala";

}


Ini bukan bulan purnama. Lupin saat ini adalah manusia.

Dalam contoh ini, spesies memiliki satu nilai global (manusia) dan satu nilai lokal (werewolf). Namun, jika Anda menggunakan var, Anda mendapatkan hasil yang berbeda.

// Gunakan var untuk menginisialisasi variabel
var spesies \u003d "manusia";
jika (fullMoon) (
// Mencoba membuat variabel baru dalam satu blok
var species \u003d "werewolf";
console.log (`Ini adalah bulan purnama. Lupin saat ini adalah $ (spesies) .`);
}
console.log (`Ini bukan bulan purnama. Lupin saat ini adalah $ (spesies) .`);
Ini bulan purnama. Lupin saat ini adalah manusia serigala.
Ini bukan bulan purnama. Lupin saat ini adalah manusia serigala.

Hasilnya, variabel global dan variabel level blok mengembalikan nilai yang sama, werewolf. Ini karena daripada membuat variabel lokal baru, var akan menetapkan kembali variabel yang sama dalam lingkup yang sama. var tidak memahami bahwa if harus menjadi bagian dari cakupan baru yang berbeda. Umumnya merupakan ide yang baik untuk mendeklarasikan variabel pada level blok karena ini mengurangi risiko menimpa nilai variabel secara tidak sengaja.

Meningkatkan variabel

Sebagian besar contoh sejauh ini telah menggunakan kata kunci var untuk mendeklarasikan variabel, dan telah menginisialisasi variabel dengan nilai. Setelah deklarasi dan inisialisasi, Anda dapat mengakses nilai atau menetapkan ulang variabel.

Jika Anda mencoba menggunakan variabel sebelum dideklarasikan dan diinisialisasi, itu akan mengembalikan undefined.


console.log (x);
// Penugasan variabel
var x \u003d 100;
tidak terdefinisi

Namun, jika Anda menghilangkan kata kunci var, variabel tidak akan dideklarasikan, tetapi hanya diinisialisasi. Ini akan mengembalikan ReferenceError dan menghentikan eksekusi skrip.

// Mencoba menggunakan variabel sebelum mendeklarasikannya
console.log (x);
// Penugasan variabel tanpa var
x \u003d 100;
ReferenceError: x tidak ditentukan

Ini ada hubungannya dengan pengangkatan - ini adalah perilaku JavaScript yang memindahkan deklarasi variabel dan fungsi ke puncak cakupannya. Karena hanya deklarasi sebenarnya yang diangkat dan bukan inisialisasi, undefined dikembalikan dalam contoh pertama.

Untuk mendemonstrasikan konsep ini dengan lebih baik, kami menulis kode berikut dan menjelaskan bagaimana JavaScript membacanya:

// Kode yang kami tulis
console.log (x);
var x \u003d 100;
// Bagaimana JavaScript menafsirkannya
var x;
console.log (x);
x \u003d 100;

JavaScript menyimpan x dalam memori sebagai variabel sebelum menjalankan skrip. Sejak variabel dipanggil sebelum itu didefinisikan, hasilnya dikembalikan tidak terdefinisi, bukan 100. Namun, ini tidak memunculkan ReferenceError atau menghentikan skrip. Meskipun kata kunci var tidak benar-benar mengubah lokasi var, kata kunci tersebut menunjukkan cara kerja pengangkatan. Perilaku ini dapat menyebabkan masalah karena pemrogram yang menulis kode ini kemungkinan besar mengharapkan keluaran dari x adalah true dan tidak tidak terdefinisi.

Pengangkatan juga dapat menyebabkan hasil yang tidak terduga, seperti pada contoh berikut:


var x \u003d 100;
fungsi hoist () (
// Kondisi yang seharusnya tidak memengaruhi hasil kode
jika (salah) (
var x \u003d 200;
}
console.log (x);
}
kerekan ();
tidak terdefinisi

Dalam contoh ini, variabel global x adalah 100. Bergantung pada pernyataan if, x dapat berubah menjadi 200, tetapi karena kondisinya salah, seharusnya tidak mempengaruhi nilai x. Sebagai gantinya, x diangkat sebelum dimulainya fungsi hoist () dan nilainya menjadi tidak ditentukan.

Perilaku tak terduga ini dapat menyebabkan kesalahan program. Karena let dan const ditentukan pada level blok, mereka tidak akan diangkat dengan cara yang sama seperti pada contoh di bawah.

// Inisialisasi x dalam lingkup global
biarkan x \u003d true;
fungsi hoist () (
// Inisialisasi x dalam ruang lingkup fungsi
jika (3 \u003d\u003d\u003d 4) (
biarkan x \u003d salah;
}
console.log (x);
}
kerekan ();
benar

Deklarasi variabel duplikat yang dimungkinkan dengan var akan memunculkan kesalahan dengan let dan const.

// Mencoba menimpa variabel yang dideklarasikan dengan var
var x \u003d 1;
var x \u003d 2;
console.log (x);
2
// Mencoba menimpa variabel yang dideklarasikan dengan let
misalkan y \u003d 1;
misalkan y \u003d 2;
console.log (y);

SyntaxError Tidak Tertangkap: Pengenal 'y' telah dideklarasikan
Jadi, variabel yang dideklarasikan dengan var dapat dipengaruhi oleh hoisting. Hoisting adalah mekanisme dalam JavaScript di mana deklarasi variabel disimpan dalam memori. Ini dapat menyebabkan variabel tidak terdefinisi dalam kode Anda. Kata kunci let dan const memecahkan masalah ini dengan memberikan kesalahan saat Anda mencoba menggunakan variabel sebelum mendeklarasikannya atau mendeklarasikan variabel lebih dari sekali.

Konstanta

Banyak bahasa pemrograman menggunakan konstanta - ini adalah nilai yang tidak dapat diubah. Artinya, nilai yang ditetapkan ke konstanta tidak dapat ditetapkan kembali.

Menurut konvensi umum, pengenal konstanta adalah huruf besar. Ini membedakannya dari variabel lain.

Pada contoh di bawah ini, variabel SPECIES diinisialisasi sebagai konstanta menggunakan kata kunci const. Mencoba menetapkan ulang variabel akan menghasilkan kesalahan.

// Tetapkan nilai ke const
const SPECIES \u003d "manusia";
// Mencoba untuk menetapkan kembali nilai
JENIS \u003d "werewolf";
console.log (JENIS);
TypeError Tidak Tertangkap: Penugasan ke variabel konstan.

Karena nilai const tidak dapat ditetapkan kembali, nilai tersebut harus dideklarasikan dan diinisialisasi pada saat yang sama, atau kesalahan akan terjadi.

// Deklarasikan tapi jangan menginisialisasi sebuah const
const TODO;
console.log (TODO);
SyntaxError Tidak Tertangkap: Penginisialisasi tidak ada dalam deklarasi const

Nilai yang tidak dapat diubah selama pemrograman disebut tidak dapat diubah, dan nilai yang dapat diubah disebut dapat berubah (ini jelas). Nilai konstanta tidak dapat ditetapkan ulang, tetapi dapat berubah karena properti objek yang dideklarasikan dengan konst dapat diubah.

// Buat objek CAR dengan dua properti
const CAR \u003d (
warna biru",
harga: 15000
}
// Modifikasi properti CAR
MOBIL. Harga \u003d 20000;
console.log (CAR);
(warna: "biru", harga: 20000)

Konstanta memungkinkan Anda memberi tahu programmer lain yang mengerjakan sebuah proyek, dan diri Anda sendiri, bahwa variabel tertentu tidak boleh ditetapkan kembali. Untuk mendeklarasikan variabel yang dapat ditetapkan kembali, gunakan let.

Kesimpulan

Dalam tutorial ini, Anda mempelajari apa itu variabel, membiasakan diri dengan aturan penamaan variabel, dan mempelajari cara menetapkan kembali nilainya. Anda juga belajar tentang pelingkupan dan pengangkatan, batasan kata kunci var, dan bagaimana let dan const memperbaiki masalah ini.

Variabel berfungsi sebagai "wadah" untuk menyimpan informasi.

Apakah Anda Ingat Aljabar Sekolah?

Apakah Anda ingat aljabar sekolah? x \u003d 5, y \u003d 6, z \u003d x + y

Apakah Anda ingat bahwa huruf (seperti x) dapat digunakan untuk menyimpan nilai (seperti 5), dan Anda dapat menggunakan informasi di atas untuk menghitung bahwa z adalah 11?

Surat-surat ini disebut variabel, dan variabel dapat digunakan untuk menyimpan nilai (x \u003d 5) atau ekspresi (z \u003d x + y).

Variabel JavaScript

Sama seperti di aljabar, variabel JavaScript digunakan untuk menyimpan nilai atau ekspresi.

Variabel dapat memiliki nama pendek, seperti x, atau nama yang lebih deskriptif, seperti carname.

Aturan untuk nama variabel JavaScript:

  • Nama variabel peka huruf besar / kecil (y dan Y adalah dua variabel yang berbeda)
  • Nama variabel harus dimulai dengan huruf atau garis bawah

Komentar: Karena JavaScript peka huruf besar kecil, nama variabel juga peka huruf besar / kecil.

Contoh

Nilai variabel dapat berubah selama eksekusi skrip. Anda dapat merujuk ke variabel dengan namanya untuk menampilkan atau mengubah nilainya.

Mendeklarasikan (Membuat) Variabel JavaScript

Membuat variabel di JavaScript lebih sering disebut sebagai variabel "mendeklarasikan".

Anda mendeklarasikan variabel JavaScript menggunakan kata kunci var:

Setelah menjalankan saran di atas, variabel x akan mengandung nilai 5 dan anyelir akan mengandung nilai Mercedes.

Komentar: Saat menetapkan nilai teks ke variabel, apit dengan tanda kutip.

Komentar: Jika Anda mendeklarasikan ulang variabel, nilainya tidak akan hilang.

Variabel Lokal JavaScript

Variabel yang dideklarasikan di dalam fungsi JavaScript menjadi LOKAL dan hanya akan tersedia dalam fungsi ini. (variabel memiliki cakupan lokal).

Anda dapat mendeklarasikan variabel lokal dengan nama yang sama di fungsi yang berbeda, karena variabel lokal dikenali dalam fungsi di mana variabel tersebut dideklarasikan.

Variabel lokal dihancurkan saat fungsi keluar.

Anda akan mempelajari lebih lanjut tentang fungsi di pelajaran JavaScript nanti.

Variabel Global JavaScript

Variabel yang dideklarasikan di luar fungsi menjadi GLOBAL, dan semua skrip serta fungsi di halaman dapat mengaksesnya.

Variabel global dihancurkan saat Anda menutup halaman.

Jika Anda mendeklarasikan variabel tanpa menggunakan "var", variabel tersebut selalu menjadi GLOBAL.

Menetapkan Nilai ke Variabel JavaScript yang Tidak Dinyatakan

Jika Anda memberikan nilai ke variabel yang belum dideklarasikan, variabel tersebut akan secara otomatis dideklarasikan sebagai variabel global.

Saran ini:

Anda akan mempelajari lebih lanjut tentang operator di tutorial JavaScript berikutnya.

Bab ini mencakup tata bahasa dasar, deklarasi variabel, tipe data, dan literal.

Dasar

JavaScript meminjam sebagian besar sintaksnya dari Java, tetapi juga dipengaruhi oleh bahasa seperti Awk, Perl, dan Python.

JavaScript hal - hal sensitif dan menggunakan pengkodean karakter Unicode... Misalnya, kata Früh (awal bahasa Jerman) dapat digunakan sebagai nama variabel.

Var Früh \u003d "foobar";

Namun, variabel früh tidak sama dengan Früh karena JavaScript peka huruf besar kecil.

Komentar

Sintaksis komentar sama seperti di C ++ dan banyak bahasa lainnya:

// Komentari satu baris. / * Komentar mencakup banyak baris. * / / * Anda tidak dapat menyarangkan / * komentar di komentar * / Kesalahan sintaks * /

iklan

Ada tiga jenis deklarasi di JavaScript:

var Mendeklarasikan variabel, inisialisasi variabel dengan nilai adalah opsional. membiarkan Mendeklarasikan variabel lokal dalam lingkup blok, menginisialisasi variabel ke nilai adalah opsional. const Mendeklarasikan konstanta bernama hanya baca.

Variabel

Anda dapat menggunakan variabel sebagai nama simbolis untuk nilai dalam aplikasi Anda. Nama variabel disebut pengenal dan harus mengikuti aturan tertentu.

Pengenal JavaScript harus dimulai dengan huruf, garis bawah (_), atau tanda dolar ($); karakter selanjutnya juga bisa berupa angka (0-9). Karena JavaScript peka huruf besar / kecil, huruf menyertakan karakter "A" hingga "Z" (huruf besar) dan karakter "a" hingga "z" (huruf kecil).

Anda dapat menggunakan ISO 8859-1 atau huruf Unicode dalam pengenal seperti å atau ü. Anda juga dapat menggunakan kedua karakter dalam pengenal.

Beberapa contoh nama yang valid: Number_hits, temp99, _name.

Deklarasi variabel

Anda dapat mendeklarasikan variabel dengan tiga cara:

  • Menggunakan kata kunci var. Misalnya var x \u003d 42. Sintaks ini dapat digunakan untuk mendeklarasikan variabel lokal dan global.
  • Cukup tetapkan nilai ke variabel. Misalnya, x \u003d 42. Variabel yang dideklarasikan dengan cara ini bersifat global. Deklarasi seperti itu menghasilkan mode ketat. Cara ini tidak disarankan.
  • Menggunakan kata kunci let. Misalnya y \u003d 13. Sintaks ini dapat digunakan untuk mendeklarasikan variabel lokal dalam lingkup suatu blok.

Menetapkan nilai

Variabel yang dideklarasikan melalui var atau biarkan tanpa diberi nilai awal tidak terdefinisi.

Jika Anda mencoba mengakses variabel atau variabel yang tidak dideklarasikan sebelum dideklarasikan, pengecualian ReferenceError akan muncul:

Var a; console.log ("Nilai a adalah" + a); // Nilai variabel a tidak terdefinisi console.log ("Nilai b adalah" + b); // Uncaught ReferenceError: b tidak ditentukan console.log ("Nilai c adalah" + c); // Nilai variabel c tidak ditentukan var c; console.log ("Nilai x adalah" + x); // Uncaught ReferenceError: x tidak didefinisikan let x;

Anda dapat menggunakan undefined untuk menentukan apakah suatu variabel memiliki nilai. Dalam contoh berikut, input variabel tidak diberi nilai dan pernyataan if bernilai true:

masukan var; if (input \u003d\u003d\u003d undefined) (doThis ( ); ) else (doThat ( ) ; }

Nilai yang tidak ditentukan berperilaku seperti false saat digunakan dalam konteks boolean. Misalnya, kode berikut menjalankan myFunction karena Elemen myArray tidak ditentukan:

var myArray \u003d; if (! myArray [0]) (myFunction ( ) ; }

Nilai yang tidak ditentukan diubah menjadi NaN saat digunakan dalam konteks numerik:

var a; a + 2; // NaN

Jika sebuah array dibuat menggunakan literal di skrip level atas, maka JavaScript menginterpretasikan array tersebut setiap kali mengevaluasi ekspresi yang berisi literal. Selain itu, literal yang digunakan dalam fungsi tersebut dibuat setiap kali fungsi tersebut dipanggil.

Koma ekstra dalam literal larik

Tidak perlu menyertakan semua elemen dalam literal array. Jika Anda meletakkan dua koma berturut-turut, maka elemen yang hilang tidak akan ditentukan. Sebagai contoh:

var fish \u003d ["Lion" ,, "Angel"]; // ["Singa", tidak ditentukan, "Malaikat"]

Larik ini memiliki 2 elemen dengan nilai dan satu kosong (ikan adalah "Singa", ikan tidak ditentukan, dan ikan adalah "Malaikat").

Jika Anda meletakkan koma di akhir daftar item, itu akan diabaikan. Pada contoh berikut, panjang array adalah 3. No myList. Semua koma lain dalam daftar menunjukkan item baru.

Komentar: Koma tambahan dapat menyebabkan kesalahan di browser versi lama, jadi sebaiknya hindari menggunakannya.

var myList \u003d ["rumah" ,, "sekolah",]; // ["rumah", tidak ditentukan, "sekolah"]

Dalam contoh berikut, panjang array adalah empat dan elemen myList dan myList tidak ditentukan:

var myList \u003d [, "rumah" ,, "sekolah"]; //

Dalam contoh berikut, panjang array adalah empat dan elemen myList dan myList tidak ditentukan. Hanya koma terakhir yang diabaikan.

var myList \u003d ["rumah" ,, "sekolah" ,,]; // ["rumah", tidak ditentukan, "sekolah", tidak ditentukan]

Memahami perilaku koma tambahan penting untuk memahami JavaScript sebagai bahasa. Namun, saat menulis kode Anda sendiri, perlu diingat bahwa secara eksplisit mendeklarasikan elemen yang hilang sebagai tidak ditentukan akan meningkatkan kejelasan kode dan kemudahan dalam memeliharanya.

Literal logis

Tipe Boolean memiliki dua nilai literal: benar dan salah.

Jangan bingung antara nilai Boolean primitif benar dan salah dengan nilai benar dan salah dari objek Boolean. Objek Boolean adalah objek pembungkus di atas primitif boolean. Untuk lebih jelasnya, baca Boolean.

Integer literal

Bilangan bulat dapat ditulis dalam sistem desimal, heksadesimal, oktal, dan biner.

  • Literal bilangan bulat desimal terdiri dari urutan angka tanpa nol di depannya.
  • Sebuah nol di depan dalam literal integer menunjukkan bahwa itu dalam oktal. Bilangan bulat oktal hanya terdiri dari angka 0-7.
  • Karakter utama 0x (atau 0X) menunjukkan bahwa angka tersebut adalah heksadesimal. Bilangan bulat heksadesimal dapat terdiri dari angka 0-9 dan huruf a-f dan A-F.
  • Karakter utama 0b (atau 0B) menunjukkan bahwa nomor tersebut biner. Bilangan biner hanya dapat berisi angka 0 dan 1.

Beberapa contoh literal integer:

0, 117 dan -345 (desimal) 015, 0001 dan -077 (oktal) 0x1123, 0x00111 dan -0xF1A7 (hex) 0b11, 0b0011 dan -0b11 (biner)

Titik mengambang literal

Angka floating point dapat terdiri dari bagian-bagian berikut:

  • Bilangan bulat desimal yang dapat memiliki tanda (karakter "+" atau "-" sebelum angka),
  • Titik desimal ("."),
  • Bagian pecahan (angka desimal lain),
  • Eksponen.

Eksponen terdiri dari "e" atau "E" diikuti dengan bilangan bulat, yang dapat ditandatangani. Bilangan floating point harus terdiri dari setidaknya satu digit dan salah satu koma desimal atau karakter "e" (atau "E").

Dalam bentuk yang lebih ringkas, sintaksnya adalah sebagai berikut:

[(+ | -)] [. digit] [(E | e) [(+ | -)] digit]

3.14 -3.1E + 12 -.3333333333333333333 .1e-23

Objek literal

Literal objek adalah daftar nol atau lebih pasangan nama properti dan nilai terkait, diapit oleh tanda kurung kurawal (()). Anda tidak boleh menggunakan literal objek di awal ekspresi, karena ini akan mengakibatkan kesalahan atau perilaku yang tidak Anda harapkan, karena "(" akan diartikan sebagai awal dari sebuah blok.

Contoh berikut menetapkan string "Saturn" ke properti myCar objek mobil, menyetel properti getCar ke hasil pemanggilan fungsi CarTypes ("Honda"), dan menyetel properti khusus ke nilai variabel Penjualan:

var Penjualan \u003d "Toyota"; fungsi CarTypes ( name) (if (name \u003d\u003d "Honda") (return name;) else (return "Maaf, kami tidak menjual" + nama + "." ; )) var car \u003d (myCar: "Saturn", getCar: CarTypes ( "Honda"), khusus: Penjualan); menghibur. catatan ( mobil. mobil saya); // Konsol Saturnus. catatan ( mobil. getCar); // Konsol Honda. catatan ( mobil. khusus); // Toyota

Selain itu, Anda dapat menggunakan literal numerik atau string dalam nama properti, atau menumpuk satu objek di dalam objek lain. Sebagai contoh:

var car \u003d (manyCars: (a: "Saab", "b": "Jeep"), 7: "Mazda"); menghibur. catatan ( mobil. banyak mobil. b); // Konsol Jeep. catatan ( mobil [7]); // Mazda

Nama properti objek bisa berupa string apa pun, termasuk string kosong. Jika nama properti bukan pengenal JavaScript yang valid, maka harus diapit oleh tanda kutip. Untuk merujuk ke nama tersebut, gunakan tanda kurung siku () daripada titik (.):

var tidak biasaPropertyNames \u003d ("": "String kosong", "!": "Bang!"). catatan ( tidak biasaPropertyNames. ""); // SyntaxError: String tak terdugamenghibur. catatan ( tidak biasaPropertyNames [""]); // Konsol "string kosong". catatan ( tidak biasaPropertyNames. ! ); // SyntaxError: Token tak terduga!menghibur. catatan ( tidak biasaPropertyNames ["!" ]); // "Bang!"

Di ES2015, literal objek diperluas untuk mendukung pengaturan prototipe dalam konstruksi singkatan untuk foo: menyetel foo, mendefinisikan metode, membuat panggilan super, dan mengevaluasi nama properti dalam ekspresi. Bersama-sama, mereka membuat literal objek dan deklarasi kelas serupa, dan memungkinkan desain objek untuk memanfaatkan kapabilitas yang sama.

Var obj \u003d (// __proto__ __proto__: theProtoObj, // Singkatan dari 'handler: handler' handler, // Metode toString () (// Panggilan super mengembalikan "d" + super.toString ();), // Dinamis perhitungan nama properti ["prop_" + (() \u003d\u003e 42) ()]: 42);

Lihat contoh berikut:

var foo \u003d (a: "alpha", 2: "two"); menghibur. catatan ( foo. Sebuah); // konsol alfa. catatan ( foo [2]); // dua // console.log (foo.2); // SyntaxError: Bilangan tak terduga// console.log (foo [a]); // ReferenceError: a tidak ditentukanmenghibur. catatan ( foo ["a"]); // konsol alfa. catatan ( foo ["2"]); // dua

RegExp literal

Literal regexp adalah pola di antara garis miring. Contoh berikut adalah regex literal:

Var re \u003d / ab + c /;

String literal

Literal string adalah nol atau lebih karakter yang diapit tanda petik ganda (") atau tunggal ("). String harus dipisahkan dengan tanda kutip tunggal, mis. baik tunggal atau ganda. Sebagai contoh:

"foo" "bar" "1234" "satu baris \\ n baris lain" "John" s cat "

Anda dapat memanggil salah satu metode objek String pada literal string: JavaScript akan secara otomatis mengonversi literal string menjadi objek String sementara, memanggil metode, dan kemudian menghancurkan objek String sementara. Anda juga dapat menggunakan properti String.length dengan literal string:

Menghibur. catatan ( "Kucing John". Panjangnya); // Jumlah karakter dalam string, termasuk spasi.// Dalam hal ini, panjang senar adalah 10.

Template string juga tersedia di ES2015. Pola string adalah gula sintaksis untuk membangun string. Ini mirip dengan kemampuan interpolasi string di Perl, Python, dan lainnya. Selain itu, tag dapat ditambahkan untuk menyesuaikan konstruksi string, menghindari serangan injeksi, dan membangun struktur data tingkat tinggi dari konten string.

// Pembuatan string sederhana melalui string literal `Dalam JavaScript" \\ n "adalah feed-baris.` // String multi-baris` Dalam JavaScript, ini tidak legal.` // Interpolasi string var name \u003d" Bobby ", time \u003d" hari ini "; `Halo $ (nama), bagaimana kabarmu $ (waktu)?` // Buat awalan permintaan HTTP yang digunakan untuk menafsirkan penggantian dan membuat POSTs`http: //foo.org/bar? A \u003d $ (a) & b \u003d $ ( b) Jenis Konten: application / json X-Credentials: $ (credentials) ("foo": $ (foo), "bar": $ (bar)) `(myOnReadyStateChangeHandler);

Anda harus menggunakan literal string kecuali Anda secara khusus membutuhkan objek String. Untuk informasi lebih lanjut tentang objek String, baca String.

Menggunakan karakter khusus dalam string

Selain karakter biasa, Anda juga bisa memasukkan karakter khusus dalam string.

"satu baris \\ n baris lain"

Tabel berikut mencantumkan karakter khusus yang dapat Anda gunakan.

Karakter khusus dalam JavaScript
Simbol Nilai
\\ b Menghapus
\\ f Terjemahan atau feed halaman (Feed formulir)
\\ n Umpan baris (baris baru)
\\ r Kereta kembali
\\ t Tab (Tab)
\\ v Tab vertikal
\" Apostrof atau kutipan tunggal
\" Kutipan ganda
\\ Garis miring terbalik (garis miring terbalik)
\XXX

Karakter Latin-1 diwakili oleh tiga angka oktal XXX dari 0 hingga 377. Misalnya, \\ 251 (simbol ©).

\\ x XX

Karakter Latin-1 diwakili oleh dua angka heksadesimal XX 00 sampai FF. Misalnya, \\ xA9 (© karakter).

\\ u XXXX

Karakter unicode diwakili oleh empat angka heksadesimal XXXX... Misalnya, \\ u00A9 (© karakter).

\\ u (XXXXX) Karakternya ada di UTF-32BE. Misalnya, \\ u (2F804) artinya sama dengan \\ uD87E \\ uDC04 reguler.

Karakter melarikan diri

Untuk karakter yang tidak terdaftar dalam tabel di atas, garis miring terbalik di depan diabaikan. Penggunaan ini sudah usang dan Anda harus menghindarinya.

Anda dapat memasukkan tanda kutip dalam string dengan mengawalinya dengan garis miring terbalik. Ini disebut kutipan pelarian. Sebagai contoh:

var kutipan \u003d "Dia membaca \\" Kremasi Sam McGee \\ "oleh R.W. Service."; menghibur. catatan ( kutipan); // Dia membaca "Kremasi Sam McGee" oleh R.W. Layanan.

Untuk memasukkan garis miring terbalik dalam string, Anda harus mengawalinya dengan garis miring terbalik lainnya. Sebagai contoh:

var home \u003d "c: \\\\ temp"; // c: \\ temp

Anda juga dapat keluar dari umpan garis. Garis miring terbalik dan umpan garis akan dihapus dari konten string. Sebagai contoh:

var str \u003d "string ini \\ putus \\ di beberapa \\ baris." konsol. catatan ( str); // string ini terputus di beberapa garis.

Meskipun JavaScript tidak mendukung sintaks "heredoc" (teks yang diformat dalam variabel string tunggal), Anda dapat mengemulasinya dengan menambahkan baris baru dan garis miring terbalik di akhir setiap baris:

var poem \u003d "Mawar itu merah, \\ n \\ Violet itu biru. \\ n \\ Aku penderita skizofrenia, \\ n \\ Dan aku juga."

informasi tambahan

Bab ini berfokus pada sintaks dasar untuk deklarasi dan tipe. Untuk informasi lebih lanjut tentang konstruksi JavaScript, baca:

Bab selanjutnya mencakup konstruksi kontrol dan penanganan kesalahan.

Pembaruan terakhir: 05.04.2018

Variabel digunakan untuk menyimpan data dalam program. Variabel dirancang untuk menyimpan beberapa data atau data sementara yang dapat berubah nilainya selama operasi. Var dan biarkan kata kunci digunakan untuk membuat variabel. Sebagai contoh, mari kita deklarasikan variabel myIncome:

Var myIncome; // opsi lain biarkan myIncome2;

Setiap variabel memiliki nama. Nama adalah kumpulan karakter alfanumerik, garis bawah (_), atau tanda dolar ($), dan nama tidak boleh dimulai dengan karakter numerik. Artinya, kita bisa menggunakan huruf, angka, garis bawah pada judul. Namun, semua karakter lain dilarang.

Misalnya, nama variabel yang benar adalah:

$ komisi someVariable product_Store income2 myIncome_from_deposit

Nama-nama berikut ini salah dan tidak dapat digunakan:

222lol @someVariable% persen saya

Selain itu, Anda tidak dapat memberikan nama variabel yang cocok dengan kata kunci yang dipesan. Tidak banyak kata kunci dalam JavaScript, jadi aturan ini tidak sulit untuk diikuti. Misalnya, nama berikut akan salah karena for adalah kata kunci JavaScript:

Var untuk;

Daftar kata khusus di JavaScript:

abstrak, boolean, istirahat, byte, kasus, menangkap, char, kelas, const, melanjutkan, debugger, default, menghapus, melakukan, dua kali lipat, lain, enum, ekspor, meluas, salah, terakhir, terakhir, mengapung, untuk, fungsi, pergi, jika, mengimplementasikan, impor, dalam, instanceof, int, inteface, panjang, asli, baru, , paket, pribadi, dilindungi, publik, kembali, pendek, statis, super, beralih, tersinkronisasi, ini, melempar, melempar, transient, true, try, typeof, var, volatile, void, while, with

Saat menamai variabel, perlu diingat bahwa JavaScript adalah hal - hal sensitif bahasa, yaitu kode berikut mendeklarasikan dua variabel berbeda:

Var myIncome; var MyIncome;

Anda dapat menentukan beberapa variabel sekaligus, dipisahkan dengan koma:

Var myIncome, procent, jumlah; biarkan a, b, c;

Menggunakan tanda sama dengan (juga disebut operator tugas) Anda dapat menetapkan nilai ke variabel:

Var pendapatan \u003d 300; biarkan harga \u003d 76;

Proses inisialisasi variabel disebut inisialisasi.

Sekarang pendapatan variabel akan menyimpan angka 300, dan harga variabel akan menyimpan angka 76.

Fitur yang membedakan variabel adalah kita dapat mengubah nilainya:

Var pendapatan \u003d 300; pendapatan \u003d 400; console.log (pendapatan); biarkan harga \u003d 76; harga \u003d 54; console.log (harga);

Konstanta

Kata kunci const dapat digunakan untuk menentukan konstanta yang, seperti variabel, menyimpan nilai, tetapi nilai ini tidak dapat diubah.

Tingkat konstan \u003d 10;

Jika kami mencoba mengubah nilainya, kami akan menemukan kesalahan:

Tingkat konstan \u003d 10; tingkat \u003d 23; // error, rate konstan, jadi kami tidak bisa mengubah nilainya

Perlu juga dicatat bahwa karena kita tidak dapat mengubah nilai konstanta, ia harus diinisialisasi, yaitu, ketika kita mendefinisikannya, kita harus memberinya nilai awal. Jika kita tidak melakukan ini, sekali lagi kita akan menghadapi kesalahan:

Tingkat konstanta; // error, rate tidak diinisialisasi