(..B ...)私は、このコードに来たが、私はそれが何を非常によく理解していない...戻り値void 0 === i &&(i = 3)、0 === i? (..A ..):(..B .. ..)?
test.update = function(i)
{
return void 0 === i && (i = 3), 0 === i ? (..A..) : (..B..)
}
(..A ...)とコードIの避難所のちょうど他の線であり、投稿されました。
たとえば、i
の値が0の場合、関数は何を返しますか?
「void 0 === i & &(i = 3)」とは何ですか?特に(i = 3)
。それはif (void 0 === i)
が真であり、i
が3を得ることができることを意味しますか?i
は3になりますか?カンマはどうですか?私はこれをチェックしたquestionしかし、私はまだそれを取得しません。
ご迷惑をおかけして申し訳ありませんが、何が起こっているのかを完全に理解できるように完全な回答が必要です。 void
operatorは式を評価し、undefined
を返すため
私はそれだけで '(..Bを...)実行' 'i'値が渡されたものは何でも文のブロックを推測します。 – pttsky
'void 0 === i'は' i'が 'undefined 'であるかどうかをチェックしているようです。 'i = 3'は' i'が未定義でないときに 'i'を3に設定します。 – evolutionxbox
'0 === i'は' i'が '0'かどうかをチェックし、'(..A ..) 'または'(..B ..) 'のいずれかを行います。この戻り値は、[コンマ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator)と[3次操作](https://developer.mozilla.org/)を使用します。 ja/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)。 – evolutionxbox