Unterschied zwischen der Verwendung eines ternären Operators oder der Kurzschlussauswertung?

Recently stieß auf Kurzschlussauswertung und war ein wenig verwirrt, als ich erst in der letzten Woche mit dem Programmieren anfing. Nach dem, was ich verstehe, wenn das, was jemals vor der ersten Doppelpfeife kommt, wahr ist, wird es anhalten und nicht auswerten, was nach der Doppelpfeife kommt. Beispielsweise

Beispiel 1

var a = true;
var b = a || {};

Also nehme ich an, wenn a existiert, ordne a b zu, sonst ist b gleich einem Objekt. Was ich nicht verstehe, ist, wo ich dies verwenden werde und wie es sich von einem ternären Operator unterscheidet, ist die Kurzschlussbewertung nicht dasselbe wie:

Beispiel 2:

var a = true;
var b = (a) ? a : {};

Warum sollte man Beispiel 1 anstelle von Beispiel 2 verwenden, da das Ausschreiben nicht langsamer ist, oder hat die Verwendung von übereinander einen Geschwindigkeitsvorteil? oder ist das nur eine dumme frage und vielleicht fehlt mir etwas. Wenn jemand das für mich klären könnte, wäre das großartig.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage