Я искал через некоторый скомпилированный код кофе-сценарий, и я заметил, что-то вроде следующего, который я думал, было очень странно:Javascript или и операторы присваивания
var current, x = 8;
current = this._head || (this._head = x);
после запуска этого ток имеет значение 8. Судя по тому, что || логический оператор работает, я бы ожидал, что он сначала оценит левую сторону. После получения «неопределенного» с левой стороны, он перемещается вправо, где он присваивает this._head до 8. Впоследствии он возвращает true, но эта часть не так важна? Я не вижу, как он может вернуться и повлиять на «текущую» переменную? Любая помощь будет оценена, спасибо!
ОН! Я просто понял, что меня разыгрывают на приоритете оператора. || оператор происходит до того, как любое значение будет присвоено текущему. Я по существу представлял current = this._head со скобками вокруг него. всем спасибо! – elju