2016-05-17 8 views
0

このエラーはJavaScriptで発生しています。なにが問題ですか?Javascript:代入または関数呼び出しが必要で、代わりに式を見た

// Determine if at least one element in the object matches a truth test. 
    // Delegates to **ECMAScript 5**'s native `some` if available. 
    // Aliased as `any`. 
    var any = _.some = _.any = function(obj, iterator, context) { 
    iterator || (iterator = _.identity); 
    var result = false; 
    if (obj == null) return result; 
    if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); 
    each(obj, function(value, index, list) { 
     if (result || (result = iterator.call(context, value, index, list))) return breaker; 
    }); 
    return !!result; 
    }; 

答えて

0

これはまったくわかりません。 ||演算子は、式(代入)または関数呼び出しではなく式を生成します。

あなたはそれに割り当てを行った場合あなたのコードは動作するはずです:

iterator = iterator || _.identity; 
+0

ありがとう!何が間違っているのか分からなかった。 Javascriptを初めて使うしかし、今私はこのコードでエラーが発生している:計算された> = result.computed &&(結果= {値:値、計算:計算}); – gdeleon101

+0

if文を使用する必要があります: '(計算結果= result.computed){結果= {値:値、計算:計算}}' – Scimonster

+0

最後に送信したコードにはセミコロンがないと書かれています – gdeleon101

0

この キャッチされないにReferenceErrorのようなあなたのおそらく取得何か:無効左側割り当て

でいずれの場合においても、することができます」 またはステートメントで割り当てます。

CASE IN POINT 

var num = null; 

num || num = 5; 

=> Uncaught ReferenceError: Invalid left-hand side in assignment; 

代わりにこれを行う 、

iterator || _.identity; 

またはこの

iterator = iterator || _.identity; 
関連する問題