Por que dois literais regex no meu Javascript variam em uma propriedade?

Eu li emJavascript: as boas partes por Douglas Crockford que os literais de expressão regular de javascript compartilham o mesmo objeto. Se sim, então como é que estes dois literais de expressão regular variam nolastIndex propriedade?

var a = /a/g;
var b = /a/g;

a.lastIndex = 3;
document.write(b.lastIndex);​

Violino de js

0 é gerado em oposição a 3.

questionAnswers(2)

yourAnswerToTheQuestion