Может кто-нибудь объяснить мне, почему следующий код JavaScript генерирует предупреждение с 321, а код PHP выдает 1.
Я знаю, что код PHP оценивает выражение и возвращает true или false. Чего я не знаю, так это того, почему в JavaScript он работает как троичный оператор. Это просто так, как все было реализовано на языке?
var something = false;
var somethingelse = (something || 321);
alert(somethingelse); // alerts 321
$var = '123';
$other = ($var || 321);
echo $other; // prints 1
Спасибо!