Pada bagian ini membahas tata bahasa dasar Javascript, deklarasi variabel, tipe data dan literal.

Dasar

Sebagian besar sintak JavaScript terinspirasi dari Java, namun juga dipengaruhi oleh Awk, Perl dan Python.

JavaScript bersifat case-sensitive dan menggunakan set karakter Unicode.

Dalam JavaScript, instruksi disebut pernyataan dan dipisahkan oleh titik koma (;). Spasi, tab dan karakter baris baru disebut whitespace.Teks sumber skrip JavaScript dipindai dari kiri ke kanan dan diubah menjadi urutan elemen masukan yang merupakan token, karakter kontrol, terminator baris, komentar atau whitespace. ECMAScript juga mendefinisikan kata kunci dan literal tertentu dan memiliki aturan untuk penyisipan titik koma secara otomatis (ASI) untuk mengakhiri pernyataan. Namun, dianjurkan untuk selalu menambahkan titik koma untuk mengakhiri pernyataan anda; Itu akan terhindar dari efek samping. Untuk informasi lebih lanjut, lihat referensi rinci tentang tata bahasa eksikal JavaScript.


Komentar

Sintak komentar pada JavaScript sama dengan C++ dan dalam banyak bahasa pemrograman lainnya:

// komentar satu baris
 
/* Ini lebih panjang
   komentar beberapa baris
 */
 
/* Anda tidak bisa menggunakannya, /* komentar bersarang */ Sintak bermasalah */

Deklarasi

Ada tiga macam deklarasi pada JavaScript.

var
Mendeklarasikan sebuah variabel, opsional menginisialisasi sebuah nilai.
let
Mendeklarasikan lingkup-blok, variabel lokal, opsional menginisialisasi sebuah nilai.
const
Mendeklarasikan sebuah lingkup-blok, baca-saja dinamakan konstanta.

Variabel

Anda menggunakan variabel sebagai nama simbolik dalam aplikasi Anda.  Nama variabel, disebut Pengidentifikasi, sesuai dengan peraturan tertentu.

Pengindetifikasi pada JavaScript harus dimulai dengan huruf, garis bawah (_), atau tanda dolar ($); Karakter selanjutnya bisa berupa digit (0-9). karena JavaScript sensitif huruf (case-sensitive), Huruf termasuk karakter "A" sampai "Z" (huruf besar) dan huruf "a" sampai "z" (huruf kecil) .

Anda dapat menggunakan sebagian besar huruf ISO 8859-1 atau Unicode seperti å dan ü dalam pengidentifikasi (untuk lebih jelasnya lihat postingan blog ini). Anda juga dapat menggunakan urutan rangkaian pelolosan/escape Unicode sebagai karakter dalam pengidentifikasi.

Beberapa contoh nama legal adalah Number_hitstemp99, $credit, dan _name.

Mendeklarasikan variabel

Anda bisa mendeklarasikan sebuah variabel dalam tiga cara:

  • Dengan kata kunci var. Misalnya var x = 42,. Sintaks ini dapat digunakan untuk mendeklarasikan variabel lokal dan global.
  • Cukup menugaskan sebuah nilai. Misalnya x = 42Ini selalu mendeklarasikan variabel global, jika dinyatakan di luar fungsi apa pun. Ini menghasilkan peringatan JavaScript yang ketat/strict. Anda sebaiknya tidak menggunakan varian ini.
  • Dengan kata kunci letMisalnya let y = 13Sintaks ini dapat digunakan untuk mendeklarasikan variabel lokal lingkup-blok. Lihat Lingkup variabel di bawah ini.

Mengevaluasi variabel

Variabel yang dideklarasikan dengan menggunakan pernyataan  var atau let tanpa penetapan nilai yang ditentukan memiliki nilai undefined.

Upaya untuk mengakses variabel yang tidak dideklarasikan akan menuju kepada pelemparan eksepsi ReferenceError:

var a;
console.log('Nilai dari a adalah ' + a); // Nilai dari a adalah undefined

console.log('Nilai dari b adalah ' + b); // Nilai dari b adalah undefined
var b;

console.log('Nilai dari c adalah ' + c); // Tidak tertangkap ReferenceError: c tidak di definisikan

let x;
console.log('Nilai dari x adalah ' + x); // Nilai dari x adalah undefined

console.log('Nilai dari y adalah ' + y); // Tidak tertangkap ReferenceError: y tidak di definisikan 
let y;

Anda dapat menggunakan undefined untuk menentukan apakah sebuah variabel memiliki nilai. Dalam kode berikut, variabel input tidak diberi nilai, dan pernyataan  if dievaluasi true.

var input;
if (input === undefined) {
  lakukanIni();
} else {
  lakukanItu();
}

Nilai  undefined berperilaku sebagai false bila digunakan dalam konteks boolean. Misalnya, kode berikut menjalankan fungsi fungsiSaya karena elemen  myArray undefined:

var myArray = [];
if (!myArray[0]) fungsiSaya();

Nilai  undefined mengkonversi ke NaN bila digunakan dalam konteks numerik.

var a;
a + 2;  // Dievaluasi ke NaN

Ketika Anda mengevaluasi sebuah variabel null, nilai null berperilaku seperti 0 dalam konteks numerik dan sebagai false dalam konteks boolean. Sebagai contoh:

var n = null;
console.log(n * 32); // Akan log 0 ke konsol

Lingkup variabel

Bila Anda mendeklarasikan variabel di luar fungsi apa pun, ini disebut variabel global , karena tersedia pada kode lain dalam dokumen tersebut. Ketika Anda mendeklarasikan sebuah variabel dalam suatu fungsi, itu disebut variabel lokal , karena hanya tersedia di dalam fungsi itu.

JavaScript sebelum ECMAScript 2015 tidak memiliki lingkup pernyataan blok ; Sebaliknya, variabel yang dinyatakan dalam blok bersifat lokal terhadap fungsi (atau lingkup global) yang berada di blok. Misalnya kode berikut akan log 5, karena ruang lingkupnya adalah fungsi (atau konteks global) yang dideklarasikan, bukan bloknya, yang dalam hal ini adalah sebuah pernyataan if.

if (true) {
  var x = 5;
}
console.log(x);  // x is 5

Perilaku ini berubah, saat menggunakan deklarasi let yang diperkenalkan di ECMAScript 2015.

if (true) {
  let y = 5;
}
console.log(y);  // ReferenceError: y tidak di definisikan

Hoisting variabel

Hal lain yang tidak biasa tentang variabel dalam JavaScript adalah Anda bisa merujuk ke variabel yang dideklarasikan nanti, tanpa mendapatkan eksepsi. Konsep ini dikenal sebagai hoistingVariabel dalam JavaScript dalam arti "dikibarkan" atau diangkat ke atas fungsi atau pernyataan. Bagaimanapun, variabel yang dikibarkan akan memberikan nilai undefinedJadi, bahkan jika Anda mendeklarasikan dan menginisialisasi setelah Anda menggunakan atau merujuk ke variabel ini, itu akan tetap memberikan undefined.

/**
 * Contoh 1
 */
console.log(x === undefined); // true
var x = 3;

/**
 * Contoh 2
 */
// Akan memberikan nilai undefined
var myvar = 'my value';
 
(function() {
  console.log(myvar); // undefined
  var myvar = 'local value';
})();

Contoh di atas akan dinterprestasikan sama dengan:

/**
 * Contoh 1
 */
var x;
console.log(x === undefined); // true
x = 3;
 
/**
 * Example 2
 */
var myvar = 'my value';
 
(function() {
  var myvar;
  console.log(myvar); // undefined
  myvar = 'nilai lokal';
})();

Karena hoisting, semua pernyataan var dalam suatu fungsi harus ditempatkan sedekat mungkin ke atas fungsi. Praktik terbaik ini meningkatkan kejelasan kode.

Dalam ECMAScript 2015, variabel  let (const) tidak akan hoist ke bagian atas blok. Bagaimanapun, referensi variabel di blok sebelum deklarasi variabel menghasilkan sebuah ReferenceErrorVariabel ini berada dalam "zona mati temporal" dari awal blok sampai deklarasi diproses.

console.log(x); // ReferenceError
let x = 3;

Hoisting fungsi

Untuk fungsi, hanya deklarasi fungsi yang diangkat ke atas dan bukan ekspresi fungsi.

/* Deklarasi fungsi */

foo(); // "bar"

function foo() {
  console.log('bar');
}


/* Ekspresi fungsi */

baz(); // TypeError: baz adalah bukan fungsi

var baz = function() {
  console.log('bar2');
};

Variabel global

Variabel global sebenarnya adalah properti dari objek global . Di halaman web objek global itu window, sehingga Anda bisa mengatur dan mengakses variabel global dengan menggunakan sintaks window.variable

Akibatnya, Anda dapat mengakses variabel global yang dideklarasikan dalam satu window atau frame dari window atau frame lain dengan menentukan nama window atau frame. Misalnya, jika variabel yang disebut phoneNumber dinyatakan dalam dokumen, Anda dapat merujuk variabel ini dari iframe as parent.phoneNumber.

Konstanta

Anda bisa membuat variabel baca-saja, dinamai dengan kata kunci constSintaksis dari pengenal konstanta sama dengan pengenal variabel: ia harus dimulai dengan huruf, garis bawah atau tanda dolar ($) dan dapat berisi karakter abjad, numerik, atau garis bawah.

const PI = 3.14;

Konstanta tidak dapat mengubah nilai melalui penugasan atau dinyatakan ulang saat naskah dijalankan. Ini harus diinisialisasi ke sebuah nilai.

Aturan lingkup untuk konstanta sama dengan variabel lingkup-blok let . Jika kata kunci  const dihilangkan, pengenal dianggap mewakili variabel.

Anda tidak dapat mendeklarasikan konstanta dengan nama yang sama dengan fungsi atau variabel dalam lingkup yang sama. Sebagai contoh:

// INI AKAN MENYEBABKAN ERROR
function f() {};
const f = 5;

// INI AKAN MENYEBABKAN ERROR JUGA
function f() {
  const g = 5;
  var g;

  //pernyataan
}

Namun, properti objek yang ditugaskan pada konstanta tidak terlindungi, jadi pernyataan berikut dijalankan tanpa masalah.

const MY_OBJECT = {'key': 'value'};
MY_OBJECT.key = 'otherValue';

Struktur dan tipe data

Tipe data

Standar ECMAScript terbaru mendefinisikan tujuh tipe data:

  • Enam tipe data yang primitif :
    • Boolean. true Dan false.
    • null. Kata kunci khusus yang menunjukkan nilai null. Karena JavaScript adalah huruf-sensitif/case-sensitive, null ini tidak sama dengan NullNULL, atau varian lainnya.
    • undefinedProperti tingkat atas yang nilainya tidak terdefinisi.
    • Number42 Atau 3.14159.
    • String"howdy"
    • Symbol (baru dalam ECMAScript 2015). Tipe data yang halnya unik dan tidak dapat diubah.
  • Dan Object

Meskipun tipe data ini jumlahnya relatif kecil, namun memungkinkan Anda untuk melakukan fungsi-fungsi yang berguna dengan aplikasi Anda.  Objects dan functions merupakan unsur fundamental lainnya dalam bahasa ini. Anda bisa memikirkan objek sebagai wadah bernama untuk nilai, dan fungsi sebagai prosedur yang dapat dilakukan aplikasi Anda.

Konversi tipe data

JavaScript adalah bahasa yang diketik secara dinamis. Itu berarti Anda tidak perlu menentukan tipe data variabel saat Anda menyatakannya, dan tipe data akan dikonversi secara otomatis sesuai kebutuhan selama eksekusi skrip. Jadi, misalnya, Anda bisa mendefinisikan variabel sebagai berikut:

var jawaban = 42;

Dan nanti, Anda bisa menetapkan variabel yang sama dengan nilai string, misalnya:

jawaban = 'Thanks for all the fish...';

Karena JavaScript diketik secara dinamis, penugasan ini tidak menyebabkan pesan kesalahan.

Dalam ekspresi yang melibatkan nilai numerik dan string dengan operator +, JavaScript mengubah nilai numerik menjadi string. Misalnya, perhatikan pernyataan berikut:

x = 'Jawabannya adalah ' + 42 // "Jawabannya adalah 42"
y = 42 + ' Adalah jawabannya' // "42 Adalah jawabannya"

Dalam pernyataan yang melibatkan operator lain, JavaScript tidak mengubah nilai numerik menjadi string. Sebagai contoh:

'37' - 7 // 30
'37' + 7 // "377"

Mengubah string menjadi angka

Dalam kasus yang sebuah nilai mewakili bilangan ada dalam memori sebagai string, ada metode untuk konversi.

parseInt Hanya akan memberikan bilangan bulat, jadi penggunaannya berkurang untuk desimal. Selain itu, praktik terbaik untuk parseInt selalu menyertakan parameter radix. Parameter radix digunakan untuk menentukan sistem numerik yang akan digunakan.

Metode alternatif untuk mengambil nomor dari string adalah dengan operator +  (unary plus):

'1.1' + '1.1' = '1.11.1'
(+'1.1') + (+'1.1') = 2.2   
// Catatan: kurung siku buka tutup ditambahkan untuk kejelasan, tidak diminta.

Literal

Anda menggunakan literal untuk mewakili nilai dalam JavaScript. Ini adalah nilai tetap, bukan variabel, yang Anda berikan secara literal dalam skrip Anda. Bagian ini menjelaskan jenis literal berikut:

Literal array

Sebuah literal array adalah daftar dari nol atau lebih ekspresi,  yang masing-masing mewakili elemen array, dilampirkan dalam tanda kurung siku ([]). Bila Anda membuat array menggunakan literal array, ini diinisialisasi dengan nilai yang ditentukan sebagai elemennya, dan panjangnya diatur ke jumlah argumen yang ditentukan.

Contoh berikut membuat array coffees dengan tiga elemen dan panjang tiga:

var coffees = ['French Roast', 'Colombian', 'Kona'];

Catatan: Sebuah literal array  adalah tipe dari object initializer. Lihat Menggunakan Penginisialisasi Objek.

Jika sebuah array dibuat menggunakan literal dalam skrip tingkat-atas, JavaScript menginterpretasikan array setiap kali mengevaluasi ekspresi yang berisi literal array. Selain itu, literal yang digunakan dalam suatu fungsi dibuat setiap kali fungsi dipanggil.

Array literal juga objek ArrayLihat Array dan Koleksi diIndek untuk rincian tentang objek Array.

Ekstra koma dalam literal array

Anda tidak perlu menentukan semua elemen dalam literal array. Jika Anda memasukkan dua koma berturut-turut, array dibuat undefined untuk elemen yang tidak ditentukan. Contoh berikut membuat array fish:

var fish = ['Lion', , 'Angel'];

Array ini memiliki dua elemen dengan nilai dan satu elemen kosong (fish[0] adalah "Lion", fish[1] adalah undefined, dan fish[2] merupakan "Angel").

Jika Anda menyertakan koma di akhir daftar elemen, koma diabaikan. Pada contoh berikut, panjang array adalah tiga. Tidak ada myList[3]Semua koma lainnya dalam daftar menunjukkan elemen baru.

Catatan: Koma diakhir dapat membuat kesalahan pada versi browser lama dan merupakan praktik terbaik untuk menghapusnya.

var myList = ['home', , 'school', ];

Dalam contoh berikut, panjang array adalah empat, dan myList[0]dan myList[2] hilang.

var myList = [ ,'home', , 'school'];

Dalam contoh berikut, panjang array adalah empat, dan myList[1]dan myList[3] hilang. Hanya koma terakhir yang diabaikan.

var myList = ['home', , 'school', , ];

Memahami perilaku ekstra  koma penting untuk memahami JavaScript sebagai bahasa, namun saat menulis kode Anda sendiri: secara eksplisit menyatakan elemen yang hilang sebagai undefined akan meningkatkan kejelasan dan perawatan kode anda.

Literal boolean

Tipe Boolean memiliki dua nilai literal: true dan false.

Jangan membingungkan nilai Boolean primitif true dan false dengan nilai true dan false objek Boolean. Objek Boolean adalah pembungkus di sekitar tipe data Boolean primitif. Lihat Boolean untuk informasi lebih lanjut.

Integer

Integer dapat dinyatakan dalam desimal (basis 10), heksadesimal (basis 16), oktal (basis 8) dan biner (basis 2).

  • Literal integer desimal terdiri dari urutan digit tanpa 0 (nol) didepan.
  • Memulakan 0 (nol) pada literal integer, atau Memulakan 0o (atau 0O) mengindikasikan itu adalah oktal. Integer Oktal hanya bisa memasukkan angka 0-7.
  • Memulakan 0x (atau 0X) menunjukkan heksadesimal. Integer heksadesimal dapat mencakup angka (0-9) dan huruf a-f dan A-F.
  • Memulakan 0b (atau 0B) menunjukkan biner. Integer biner dapat mencakup angka hanya 0 dan 1.

Beberapa contoh literal bilangan bulat adalah:

0, 117 and -345 (desimal, basis 10)
015, 0001 and -0o77 (oktal, basis 8) 
0x1123, 0x00111 and -0xF1A7 (heksadesimal, "hex" or basis 16)
0b11, 0b0011 and -0b11 (biner, basis 2)

Untuk informasi lebih lanjut, lihat literatur numerik dalam referensi tata bahasa leksikal .

Literal floating-point

Sebuah literal  floating-point dapat memiliki bagian berikut:

  • Sebuah integer desimal yang dapat ditandatangani (didahului dengan "+" atau "-"),
  • Titik desimal ("."),
  • Fraksi (bilangan desimal lain),
  • Eksponen

Bagian eksponennya adalah "e" atau "E" diikuti oleh bilangan bulat, yang dapat ditandatangani (didahului dengan "+" atau "-"). Literal floating-point harus memiliki setidaknya satu digit dan titik desimal atau "e" (atau "E").

Lebih ringkas lagi, sintaksnya adalah:

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

Sebagai contoh:

3.1415926
-.123456789
-3.1E+12
.1e-23

Literal objek

Literal objek adalah daftar dari nol atau lebih pasangan nama properti dan nilai objek yang terkait, yang dilampirkan dalam kurung kurawal ({}). Anda seharusnya tidak menggunakan literal objek di awal sebuah pernyataan. Ini akan menyebabkan kesalahan atau tidak berperilaku seperti yang Anda harapkan, karena { akan ditafsirkan sebagai awal dari sebuah blok.

Berikut ini adalah contoh dari literal objek. Elemen pertama dari objek car mendefinisikan sebuah properti myCar, dan menetapkan sebuah string baru, " Saturn";  Elemen kedua, properti getCar,  segera diberi hasil pemanggilan function (carTypes("Honda")); elemen ketiga, properti special menggunakan variabel yang ada ( sales).

var sales = 'Toyota';

function carTypes(name) {
  if (name === 'Honda') {
    return name;
  } else {
    return "Maaf, kami tidak menjual " + name + ".";
  }
}

var car = { myCar: 'Saturn', getCar: carTypes('Honda'), special: sales };

console.log(car.myCar);   // Saturn
console.log(car.getCar);  // Honda
console.log(car.special); // Toyota

Selain itu, Anda dapat menggunakan literal numerik atau string untuk nama properti atau menyarangkan objek di dalam objek yang lain. Contoh berikut menggunakan opsi ini.

var car = { manyCars: {a: 'Saab', 'b': 'Jeep'}, 7: 'Mazda' };

console.log(car.manyCars.b); // Jeep
console.log(car[7]); // Mazda

Nama properti objek bisa berupa string apapun, termasuk string kosong. Jika nama properti akan menjadi pengidentifikasi JavaScript yang tidak valid atau angka, maka harus dilampirkan dalam tanda petik. Nama properti yang pengidentifikasi tidak valid juga tidak dapat diakses sebagai properti dot (.), namun dapat diakses dan ditetapkan dengan notasi seperti array ("[]").

var namaPropertiTidakBiasa = {
  '': 'An empty string',
  '!': 'Bang!'
}
console.log(namaPropertiTidakBiasa.'');   // SyntaxError: Unexpected string
console.log(namaPropertiTidakBiasa['']);  // An empty string
console.log(namaPropertiTidakBiasa.!);    // SyntaxError: Unexpected token !
console.log(namaPropertiTidakBiasa['!']); // Bang!

Peningkatan Literal Objek

Di ES2015, literal objek diperluas untuk mendukung pengaturan prototipe pada konstruksi, singkatan untuk  foo: penugasan foo , definisikan metode, pembuatan panggilan super, dan komputasi nama properti dengan ekspresi. Bersamaan dengan itu, ini juga membawa literatur dan deklarasi kelas lebih dekat bersama, dan membiarkan desain berbasis objek mendapatkan keuntungan dari beberapa kemudahan yang sama.

var obj = {
    // __proto__
    __proto__: theProtoObj,
    // Shorthand for ‘handler: penangan’
    handler,
    // Metode
    toString() {
     // Pangilan super
     return 'd ' + super.toString();
    },
    // Dikalkulasi (dinamis) nama properti
    [ 'prop_' + (() => 42)() ]: 42
};

Tolong dicatat:

var foo = {a: 'alpha', 2: 'two'};
console.log(foo.a);    // alpha
console.log(foo[2]);   // two
//console.log(foo.2);  // Error: missing ) after argument list
//console.log(foo[a]); // Error: a is not defined
console.log(foo['a']); // alpha
console.log(foo['2']); // two

Literal RegExp

Sebuah literal regex adalah pola yang dilampirkan diantara garis miring. Berikut ini adalah contoh literal regex.

var re = /ab+c/;

Literal string

Literal string adalah nol atau lebih karakter yang dilampirkan dengan tanda kutip ganda (") atau tunggal ('). String harus dibatasi dengan tanda kutip dari jenis yang sama; Yaitu kedua tanda kutip tunggal atau kedua tanda petik ganda. Berikut ini adalah contoh literal string:

'foo'
"bar"
'1234'
'baris satu \n baris lainnya'
"Kucing jhon"

Anda dapat memanggil salah satu metode objek String pada nilai literal string-JavaScript secara otomatis mengubah literal string menjadi objek String sementara, memanggil metode tersebut, lalu membuang objek String sementara. Anda juga bisa menggunakan properti String.length dengan literal string:

console.log("Kucing jhon".length) 
// Akan mencetak jumlah simbol dalam string termasuk spasi. 
// Dalam hal ini, 11.

Di ES2015, template literal juga tersedia. Template string memberikan sintaksis gula untuk pembuatan string. Ini mirip dengan fitur interpolasi string di Perl, Python dan lainnya. Secara opsional, tag dapat ditambahkan untuk memungkinkan konstruksi string disesuaikan, menghindari serangan injeksi atau membangun struktur data tingkat tinggi dari konten string.

// Literal dasar kreasi string
`Dalam JavaScript '\n' adalah sebuah line-feed.`

// String beberapa baris
`Dalam template string JavaScript dapat berjalan di
 beberapa baris, namun string yang dikutip ganda dan tunggal
 tidak dapat dilakukan.`

// Interpoasi string
var name = 'Bob', time = 'today';
`Hello ${name}, how are you ${time}?`

// Membangun prefix permintaan HTTP digunakan untuk menafsirkan penggantian dan konstruksi
POST`http://foo.org/bar?a=${a}&b=${b}
     Content-Type: application/json
     X-Credentials: ${credentials}
     { "foo": ${foo},
       "bar": ${bar}}`(myOnReadyStateChangeHandler);

Anda harus menggunakan literal string kecuali Anda secara khusus perlu menggunakan objek String. Lihat String  untuk rincian tentang objek String.

Menggunakan karakter khusus dalam string

Selain karakter biasa, Anda juga bisa menyertakan karakter khusus dalam string, seperti yang ditunjukkan pada contoh berikut.

'one line \n another line'

Tabel berikut mencantumkan karakter khusus yang dapat Anda gunakan dalam string JavaScript.

Tabel: karakter khusus JavaScript
Karakter Berarti
\0 Null Byte
\b backspase
\f form feed
\n Baris baru
\r Cariage return
\t Tab
\v Tab vertikal
\' Apostrof atau kutipan tunggal
\" Kutipan ganda
\\ Karakter backslash
\XXX Karakter dengan pengkodean Latin-1 ditentukan oleh hingga tiga digit oktal XXX antara 0 dan 377. Misalnya, \251 adalah urutan oktal untuk simbol hak cipta.
\xXX Karakter dengan pengkodean Latin-1 yang ditentukan oleh dua digit heksadesimal XX antara 00 dan FF. Misalnya, \xA9 adalah urutan heksadesimal untuk simbol hak cipta.
\uXXXX Karakter Unicode ditentukan oleh empat digit heksadesimal XXXX . Misalnya, \u00A9 adalah urutan Unicode untuk simbol hak cipta. Lihat rangkaian pelolosan Unicode.
\u{XXXXX} Kode Unicode lolos. Misalnya, \u {2F804} sama dengan Unicode sederhana yang lolos \uD87E \uDC04.

Karakter pelolosan

Untuk karakter yang tidak tercantum dalam tabel, tanda garis miring terbalik sebelumnya diabaikan, namun penggunaan ini tidak berlaku lagi dan harus dihindari.

Anda dapat memasukkan tanda petik di dalam string sebelum mendahului dengan garis miring terbalik. Ini dikenal sebagai pelolosan dari tanda petik. Sebagai contoh:

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";
console.log(quote);

Hasil dari ini adalah:

He read "The Cremation of Sam McGee" by R.W. Service.

Untuk menyertakan garis miring terbalik di dalam string, Anda harus melepaskan diri dari karakter garis miring terbalik. Misalnya, untuk menetapkan path file c:\temp ke string, gunakan yang berikut ini:

var home = 'c:\\temp';

Anda juga bisa meloloskan dari baris istirahat sebelumnya mendahului mereka dengan garis miring terbalik. Garis miring terbalik dan baris istirahat keduanya terlepas dari nilai string.

var str = 'this string \
is broken \
across multiple \
lines.'
console.log(str);   // this string is broken across multiplelines.

Meskipun JavaScript tidak memiliki sintaks "heredoc", Anda bisa mendekat dengan menambahkan pelolosan baris istirahat dan baris istirahat pada akhir setiap baris:

var poem = 
'Roses are red,\n\
Violets are blue.\n\
Sugar is sweet,\n\
and so is foo.'

ECMAScript 2015 memperkenalkan tipe literal baru, yaitu  template literal . Hal ini memungkinkan banyak fitur baru termasuk string beberapa baris!

 

var poem = 
`Roses are red, 
Violets are blue. 
Sugar is sweet, 
and so is foo.`

 

Informasi lebih lanjut

Bab ini berfokus pada sintaks dasar untuk deklarasi dan tipe. Untuk mempelajari lebih lanjut tentang konstruksi bahasa JavaScript, lihat juga bab-bab berikut dalam panduan ini:

Pada bab berikutnya, kita akan melihat konstruksi aliran kontrol dan penanganan kesalahan.

 

Tag Dokumen dan Kontributor

 Kontributor untuk laman ini: wawansumardi, sori-goklas-hutagalung, Fidelstu, bekti, kangfend, adeyahya
 Terakhir diperbarui oleh: wawansumardi,