Bu eğitimde, ES6'da sekizli ve ikili değişmezlerin nasıl temsil edileceğini öğreneceksiniz.
ES5 sekizlik (önek 0), ondalık (önek yok) ve onaltılık (0x) sayısal değişmezler sağladı. ES6 ikili değişmezler için destek ekledi ve sekizli değişmezleri temsil etme şeklini değiştirdi.
Sekizli Değişmezler
ES5'te sekizli bir değişmezi temsil etmek için, sıfır önekini (0) ve ardından bir dizi sekizli rakamı (0'dan 7'ye kadar) kullanırsınız. Örneğin:
let a = 051;
console.log(a); // 41
Sekizli değişmez aralık dışında bir sayı içeriyorsa, JavaScript baştaki 0'ı yok sayar ve aşağıdaki örnekte gösterildiği gibi sekizli değişmezi ondalık olarak değerlendirir:
let b = 058; // invalid octal
console.log(b); // 58
Bu örnekte, 8
sekizli sayıyı temsil etmek için geçersiz bir rakam olduğundan, JavaScript 0'ı yok sayar ve tam sayıyı 58 değerine sahip bir ondalık olarak ele alır.
Sekizli değişmezleri katı olmayan modda kullanabileceğinizi unutmayın. Bunları katı modda kullanırsanız, JavaScript bir hata verir.
"use strict"
let b = 058; // invalid octal
console.log(b);
İşte hata mesajı:
SyntaxError: Decimals with leading zeros are not allowed in strict mode.
ES6, 0o önekini ve ardından 0'dan 7'ye kadar bir dizi sekizli rakamı kullanarak sekizli değişmezi belirtmenize olanak tanır. İşte bir örnek:
let c = 0o51;
console.log(c); // 41
Sekizli değişmezde geçersiz bir sayı kullanırsanız, JavaScript aşağıdaki örnekte gösterildiği gibi bir SyntaxError atacaktır:
let d = 0o58;
console.log(d); // SyntaxError
İkili Değişmezler
ES5'te JavaScript, ikili sayılar için herhangi bir gerçek form sağlamıyordu. İkili bir dizeyi ayrıştırmak için parseInt()
fonksiyonunu aşağıdaki gibi kullanırsınız:
let e = parseInt('111',2);
console.log(e); // 7
ES6, 0b önekini ve ardından bir dizi ikili sayıyı (0 ve 1) kullanarak ikili değişmezler için destek ekledi. İşte bir örnek:
let f = 0b111;
console.log(f); // 7
Özet
- Sekizli değişmezler
0o
ile başlar ve ardından 0 ile 7 arasında bir sayı dizisi gelir. - İkili değişmezler
0b
ile başlar ve ardından 0 ve 1 sayıları dizisi gelir.
Top comments (0)