2011-09-06 8 views
5

JS Linting次ビット:エラーでJSLintは「」「設定」と代わりに見て予想されるコードの

/*jslint 
browser: true, 
es5: true, 
*/ 

var VCA = { 
    get enable() { 
     'use strict'; 
     return 0; 
    }, 
    set enable (value) { 
     'use strict'; 
     console.log(value); 
    } 
}; 

結果:私はこれを作るために何をすべきか理解していない

Problem at line 11 character 9: Expected 'set' and instead saw ''. 

set enable (value) { 

'set'を正しく参照してください!

私は__defineGetter__という構文について知っていますが、実際には上記のスタイルを使用したいと考えています。

誰もこのエラーに関する情報を持っていますか?

+2

:-)回避策かもしれません。 –

+0

@トマラク - 私のsystaxが間違っているかどうかはわかりませんでした。バグレポートとして報告します。 –

+0

「それは」かどうかです!アー! –

答えて

4

JSLintでは問題があるようです。 JSLintで検証するための取得/設定シナリオを取得できません。あなたの構文は正しいと思われ、ゲッターセッターの検証に関するダグラスのinitial postに沿っています。


編集:これは細かい検証し、私はこの質問にはダグラスの電子メールの受信トレイに適していると思います

var myObject = {}; 

(function() { 
    var myProp = 'myDefault'; 
    Object.defineProperty(myObject, 'myProp', 
     { 
      enumerable:  false, 
      configurable: true, 
      get: function() { 
       return myProp; 
      }, 
      set: function (value) { 
       myProp = value + ' lala'; 
      } 
     }); 
}()); 
+0

オペラはObject.definePropertyをサポートしていません(http://chat.stackoverflow.com/rooms/3254/discussion-between-matt-clarkson-and-tomalak-geretkal) IEはMattの例の構文をサポートしていないので、互換性が必要な場合は両方を使用する必要があります。 – sethobrien

+0

Mweh、strictモードでES5を使用している人のほとんどは、Web環境でES5を使用していません。 –

+0

JS LintはデフォルトでES5になっているので、私は "user strict"しか持っていません。 –

関連する問題