Muranx, при передаче "0" в качестве контекста, this будет равняться "0". При вызове на нём свойства "a", интерпретатор будет обращаться к прототипу числа 0 (его прототип это Number) и искать на нём свойство "a", но на объекте Number нет свойства "a", поэтому вернётся undefined. Надеюсь ты понял.