В чем разница между этим утверждениемРазница между двумя утверждениями, декларирующих объект
var X = X || {};
И этого. Они делают то же самое? Есть разница в производительности?
var X = typeof X === "undefined" ? {} : X;
В чем разница между этим утверждениемРазница между двумя утверждениями, декларирующих объект
var X = X || {};
И этого. Они делают то же самое? Есть разница в производительности?
var X = typeof X === "undefined" ? {} : X;
В этом случае: var X = X || {}
переменная X
будет пересмотрена, если она была объявлена, но falsy. Таким образом, var X = 0; X = X || {};
будет перезаписывать объект 0
.
Не думайте, что есть разница в производительности. но первый короткий. – Tushar
Один diff состоит в том, что первый проверяет, является ли 'X' правдой, если это не значит, что' X' является пустым объектом. Пока второй проверяет только 'undefined'. – Tushar
Vasile, отвечает ли один из ответов на ваш вопрос? – Cerbrus