Я сталкивался с двумя различными способами определения / именования объектов и функций в JavaScript, которые сначала проверяют наличие имени перед его использованием. Проблема в том, что я не знаю, какой из них лучше (с точки зрения скорости и удобства использования), и невозможно использовать логические операторы в поиске Google, чтобы выяснить это.
Первое, что я вижу чаще всего:
var myNewObject = myNewObject ? myNewObject : function () {
// Code goes here.
};
Второй кажется более кратким, но я видел его только в одном или двух местах, поэтому я не знаю, существует ли стандарт или даже название для него:
var myNewObject = myNewObject || function() {
// Code goes here.
};
Функционально, они оба делают одно и то же, и они оба работают в каждом браузере, в котором я могу протестировать. Мой вопрос - что лучше и почему? Кроме того, хотя первое определение по сути является однострочным условным ... как называется второе?