Bildiğim kadarıyla Javascript'te ikili belirteç kullanmak mümkün değil. Sizin için hepsinin sorunları olan üç çözümüm var. Bence alternatif 3, okunabilirlik açısından en "iyi görünen" ve muhtemelen diğerlerinden çok daha hızlı - ilk çalıştırma süresi maliyeti dışında. Sorun, yalnızca 255'e kadar olan değerleri desteklemesidir.
Alternatif 1: "00001111".b()
String.prototype.b = function() { return parseInt(this,2); }
Alternatif 2: b("00001111")
function b(i) { if(typeof i=='string') return parseInt(i,2); throw "Expects string"; }
Alternatif 3: b00001111
Bu sürüm, 8 basamaklı ikili b00000000, 4 basamaklı b0000ve değişken basamaklı yazmanıza izin verir b0. Bu b01yasa dışıdır, b0001veya kullanmanız gerekir b1.
String.prototype.lpad = function(padString, length) {
var str = this;
while (str.length < length)
str = padString + str;
return str;
}
for(var i = 0; i < 256; i++)
window['b' + i.toString(2)] = window['b' + i.toString(2).lpad('0', 8)] = window['b' + i.toString(2).lpad('0', 4)] = i;