l límite de @Word no coincidirá con el principio o el final en Javascript

Estoy obteniendo resultados inesperados con este código:

'foo'.match(new RegExp('\bfoo\b')); // Returns null

¿Por qué regresa estonull mientras este devuelve "foo"?

'foo'.match(new RegExp('foo')); // Returns "foo"

¿No coincide también un marcador de límite de palabras con el principio y el final?

EDIT: Necesito que la expresión regular sea una cadena porque estoy inyectando variables en ella.

Respuestas a la pregunta(2)

Su respuesta a la pregunta