На днях я наткнулся на какой-то странный код:
var OrderSupplement = function() {
oid: null;
code: "";
description: "";
startdate: "";
enddate: "";
gender: null;
cardowner: null;
box: null;
divisor: 0;
created: null;
createdBy: "";
};
Цель кода была понятна мне: это была попытка определить функцию-конструктор, чтобы создать экземпляр OrderSupplement.
Я сбив с толку этим синтаксисом.
Приятель, написавший код, сказал, что он работает нормально - хотя, очевидно, это не так; по крайней мере, это не то, что нужно. Он создал экземпляр OrderSupplement и установил, например. oid к ненулевому значению и позже его получить. Разумеется, извлечение значения перед настройкой показало бы ошибку.
Эффект приведенного выше кода выглядит следующим образом:
var OrderSupplementJson = function() {}
Мой вопрос:
Почему код выше принят и не генерирует (синтаксическую) ошибку любого типа?