Hasta donde yo sé, no es posible usar un denoter binario en Javascript. Tengo tres soluciones para usted, todas las cuales tienen sus problemas. Creo que la alternativa 3 es la más "atractiva" para la legibilidad, y posiblemente sea mucho más rápida que el resto, excepto por su costo inicial de tiempo de ejecución. El problema es que solo admite valores de hasta 255.
Alternativa 1: "00001111".b()
String.prototype.b = function() { return parseInt(this,2); }
Alternativa 2: b("00001111")
function b(i) { if(typeof i=='string') return parseInt(i,2); throw "Expects string"; }
Alternativa 3: b00001111
Esta versión le permite escribir binarios de 8 dígitos b00000000, 4 dígitos b0000y dígitos variables b0. Eso es b01ilegal, tienes que usar b0001o 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;