1. ホーム
  2. ジャバスクリプト

[解決済み] [解答】x = x || y という構成は何を意味するのか?

2022-03-31 02:32:50

質問

JavaScriptのデバッグをしているのですが、次のようなことが説明できません。 || を実行します。

function (title, msg) {
  var title = title || 'Error';
  var msg   = msg || 'Error on Request';
}

なぜこの人は var title = title || 'ERROR' ? が付いていないのを時々見かけますが var という宣言もあります。

どのように解決するのですか?

つまり title 引数はオプションです。そのため、引数なしでメソッドを呼び出すと、デフォルトの値である "Error" .

書くことの省略形です。

if (!title) {
  title = "Error";
}

このようなブール式の省略術は、Perlでもよく使われます。この式で

a OR b

と評価されます。 true もし a または btrue . だから、もし a が真であることを確認する必要はありません。 b を全く使用しない。これを短絡的なブーリアン評価といいますので。

var title = title || "Error";

は、基本的に title と評価されます。 false . もしそうなら、それは "return"。 "Error" を返し、それ以外の場合は title .