2016-07-22 27 views
2

特定のポートが呼び出されたときにどのURIを使用するかを知るためのパラメータを設定します。私は次のエラーを取得しています条件付き三項演算子がエラーを出しています:代入または関数呼び出しを期待し、代わりに変数を設定するときに式を見た

var portConfig = '443'; 
    (portConfig === '443') ? uri = 'wss://' : uri = 'http://'; 
    console.log(uri); 
    var Ip = uri + "hereis.myurl.com"; 
    var port = portConfig; 
    console.log(Ip); 

::私も、URIの機能種皮TESTBが、同じエラーが発生するの内側になるように設定している

Expected an assignment or function call and instead saw an expression

は、ここに私のコードです。私はこの問題を読んできましたが、誤ったエラーのように思えます。代わりにifステートメントを使うべきですか?うまくいきますか?

+0

を書くべきかで、返される値は、しかし割り当てることができます。 – adeneo

答えて

4

マニュアルに従って正しい方法は次のとおりです。

uri = (portConfig === '443') ? 'wss://' : 'http://'; 

それは確かに代入、ない表現を期待していません。

実際には、割り当てが割り当てられた値を返すので、ブラウザでエラーが発生しても、使用する方法を食べて解析することができます。しかし、これは推奨された方法ではありません。なぜなら、三元演算子はif()の条件とは異なり、値を返すように設計されています(そして、後で値を使用しなくても常にそうします)。そして、あなたのように使うのは賢明ではないと考えられますif()を使用してください。

+0

baller ...そんなに意味があります。私は今それを完全に理解している。ありがとう! –

2

これはあなたが三元はassigmentを含めることはできませんそれを

uri = (portConfig === '443') ? 'wss://' : 'http://'; 
関連する問題