You misunderstand: the parent interpreter is JavaScript, yes, but the child interpreter does not rely on the parent's evaluation semantics, which means it is not a metacircular evaluator, it's just a self-interpreter. See the Wikipedia article for more information.