Pada tutorial ini, Anda akan mempelajari cara merepresentasikan literals oktal dan biner dalam ES6.
ES5 menyediakan literals numerik dalam bentuk oktal (dengan awalan 0), desimal (tanpa awalan), dan heksadesimal (0x). ES6 menambahkan dukungan untuk literals biner dan mengubah cara literals oktal direpresentasikan.
Literals Oktal
Untuk merepresentasikan literal oktal dalam ES5, Anda menggunakan awalan nol (0) diikuti oleh serangkaian digit oktal (dari 0 hingga 7). Contohnya:
let a = 051;
console.log(a); // 41
Jika literal oktal mengandung angka di luar jangkauan, JavaScript mengabaikan awalan 0 dan memperlakukan literal oktal sebagai desimal, seperti pada contoh berikut:
let b = 058; // oktal tidak valid
console.log(b); // 58
Pada contoh ini, karena 8 adalah digit tidak valid untuk merepresentasikan angka oktal, JavaScript mengabaikan 0 di awal dan memperlakukan seluruh angka sebagai desimal dengan nilai 58.
Perhatikan bahwa Anda dapat menggunakan literals oktal dalam mode non-strict. Jika Anda menggunakannya dalam mode strict, JavaScript akan menghasilkan kesalahan.
"use strict";
let b = 058; // oktal tidak valid
console.log(b);
Berikut pesan kesalahannya:
SyntaxError: Decimals with leading zeros are not allowed in strict mode.
ES6 memungkinkan Anda untuk menentukan literal oktal dengan menggunakan awalan 0o diikuti oleh serangkaian digit oktal dari 0 hingga 7. Berikut contohnya:
let c = 0o51;
console.log(c); // 41
Jika Anda menggunakan angka tidak valid dalam literal oktal, JavaScript akan menghasilkan SyntaxError seperti yang ditunjukkan pada contoh berikut:
let d = 0o58;
console.log(d); // SyntaxError
Literals Biner
Pada ES5, JavaScript tidak menyediakan bentuk literal untuk angka biner. Untuk mengurai string biner, Anda menggunakan fungsi parseInt() seperti berikut:
let e = parseInt('111', 2);
console.log(e); // 7
ES6 menambahkan dukungan untuk literals biner dengan menggunakan awalan 0b diikuti oleh serangkaian angka biner (0 dan 1). Berikut contohnya:
let f = 0b111;
console.log(f); // 7
Ringkasan
- Literals oktal dimulai dengan 0o diikuti oleh serangkaian angka antara 0 dan 7.
- Literals biner dimulai dengan 0b diikuti oleh serangkaian angka 0 dan 1.