Мы не ведем речь о плохом дизайне, пример написан для наглядности.
Поясню свою мысль: если обратиться к модели работе CLR, то можно увидеть, что тело метода не компилируется в команды процессора пока к этому методу не будет сделан вызов. В то же время, код метода в виде MSIL языка хранится в адресном пространстве, куда была загружена сборка.
Отсюда вытекает логичный вопрос: компилируется ли код тела функции-конструктора или же он лежит где-то в памяти интерпритатора и не используется, пока тот не наткнется на конструкцию вида:
var user = new User('Bob');
Поясню свою мысль: если обратиться к модели работе CLR, то можно увидеть, что тело метода не компилируется в команды процессора пока к этому методу не будет сделан вызов. В то же время, код метода в виде MSIL языка хранится в адресном пространстве, куда была загружена сборка.
Отсюда вытекает логичный вопрос: компилируется ли код тела функции-конструктора или же он лежит где-то в памяти интерпритатора и не используется, пока тот не наткнется на конструкцию вида:
var user = new User('Bob');