Literals Oktal dan Biner di JavaScript

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.
Share jika bermanfaat:
Abdan Zam Zam Ramadhan
Abdan Zam Zam Ramadhan

Seorang penggiat teknologi yang menfokuskan diri pada pengembangan aplikasi (web & android), DevOps, Data Tech, Natural Language Processing (NLP) dan ChatBot berbasis NLP. Sedang mendalami di Node.js dan ekosistemnya. Aktif sebagai konstributor library JS (open source) di NPM. Menulis berbagai artikel tips dan tutorial pemrograman di LampungDev.com.

Articles: 32