buenas.
más o menos, mask significa ocultar o esconder. en este caso,
no se refiere a la técnica de encapsulamiento para ocultar información de modo que solo ciertos procesos específicos puedan accesarlo. más bien se refiere a la prioridad que se le da a una propiedad sobre otra dado el esquema de resolusión de conflicto para identificadores. en términos humano lo que quiere decir es que si existen dos o más contenedores con el mismo nombre dentro de una misma jerarquía, el valor que se obtiene depende en que punto de la jerarquía está definido y la forma en como se accesa a ese contenedor.
Código:
Object.prototype.value = "in prototype";
var obj = new Object();
console.log(obj.value);
// en la consola se imprime el string "in prototype";
console.log(obj.hasOwnProperty('value'));
// imprime false porque la propiedad 'value' no esta declarada directamente en el objeto;
obj.value = "in object";
console.log(obj.value);
// imprime en consola el string "in object", pero eso no significa que se ha perdido el valor anterior;
// podemos comprobarlo si creamos otro objeto;
var some = new Object();
console.log(some.value);
// o incluso si eliminamos la propiedad directamente del objeto;
delete obj.value;
console.log(obj.value);
http://en.wikipedia.org/wiki/Data_masking