var truth = true;
(truth) ? console.log('It is true') : throw new Error('It is not true');
三項演算子は特定のタイプのオブジェクトのみを受け入れますか?
var truth = true;
(truth) ? console.log('It is true') : throw new Error('It is not true');
三項演算子は特定のタイプのオブジェクトのみを受け入れますか?
javascriptは、ステートメントと式を区別します。三項演算子は式のみを処理します。throwはステートメントです。
動作しますが、問題は「else」ブランチの throw ステートメントです。
使用する
(truth) ? console.log('It is true') : (function(){throw 'It is not true'}());
条件演算子は、他のすべての演算子と同様に、式でのみ使用できます。
throw x;
はステートメントであり、式ではありません。