2016-08-24 6 views
1

Iは角/ PhoneGapの上に構築しているアプリケーションを実行しているとき、私は次のようなエラー角度JS Androidアプリ予期しないトークンのデフォルトパラメータの

Uncaught SyntaxError: Unexpected token =

を取得し、エラーがparameter.Butために供給されるデフォルト値によって引き起こされますそれはなぜですか?それはいくつかのデバイスで完璧に動作し、このエラーを他のデバイスに投げます。ここ はコードです:ここでは

.factory('foo' , function(){ 
    return { 
    test : function(id = 0){ 
    console.log(id); 
    } 
    } 
}) 

は、ソリューションです:

.factory('foo' , function(){ 
    return { 
    test : function(id){ 
    id = (id !== undefined) ? id : 0; 
    console.log(id); 
    } 
    } 
}) 
+0

解決策には偽と評価される値に関する問題があります。詳細はこの回答を参照してください。http://stackoverflow.com/a/6486334/4963159 –

答えて

1

Default parametersはECMAScriptの中で、それが動作することを2015年

理由を添加し、かなり新しいECMAScriptの機能です一部のデバイスでは、他のブラウザではなく、同じブラウザの異なるバージョンを使用している可能性があります。

最新のブラウザだけが、ECMAScript 2015の機能を使用してコードを解釈してコンパイルすることができます。

この問題を回避するには、どのブラウザでどの機能が利用できるかを気にせずに最新の仕様を使用する場合は、ビルドパイプラインでBabelなどのトランスヒーラーを使用することを検討してください。

関連する問題