非常に多くのことがあるので、私はわずかなコードを共有しています。私の質問に答えるだけで十分です。javascript:ORの代わりにIF文を使ってデフォルト値を設定
私は値がOR文で決定されるいくつかの既存のJSを持っています。私はそれをIF文に変換する必要があると思います。両方とも存在する場合、最終的な出力は私に両方の値を与えています。私は "質問"と "名前"の両方の値が存在するところで "質問"をしたいだけです。
if (questionData['question'] is undefined) {
use questionData['question'];
} else {
use instead questionData['name']
}
しかし、私は、そのような声明を達成する方法を知りません。代わりにOR演算子(answerData['question'] || answerData['name']
)を使用しての
var question = new fq.Question(questionData.answerId, topicId,
questionData['question'] || questionData['name'],
questionData['text']);
、私は次のような何かをしたいと思います上に貼り付けられた既存のコードの()
内にあります。変数/値の名前は常に存在するため、デフォルトにする必要はありません。質問は時間の一部しか定義されていません。そして、私は両方の出現を望んでいない。
これはおそらくここでのクエリの範囲外ですが、もう少し詳細を記入するために、このコードは最終的にトピックと質問のJSONファイルを出力します。トピックには名前の値のみがあり、質問には名前と質問の両方がありますが、私は質問jsonに名前ではなく質問の値を含めるだけです。私はこれがすべてのJSの決定の重要な部分であると確信しています
"*彼らの両方が*存在する場合、最終的な出力は、現在、私の両方の値を与えている" - いいえ、 '||'はそれを決してしません。間違ったことがなければならない。問題を引き起こす実際のコードを教えてください。 – Bergi
条件付きで代入するヘルパー変数、条件付きで返すヘルパー関数、またはインライン式としての3項演算子を使用できますが、どちらも '||'とは異なる動作をしませんオペレーター。 – Bergi
あなたは "**' ** undefined'でないときに '' questionData ['question'] 'を使用しましたか? – Bergi