name | memo |
---|---|
bitwise | ビット演算子を許可しない |
camelcase | CamelCaseとXXX_YYY_ZZZの形式を許可する |
curly | ループや条件分岐の{}を省略しない |
eqeqeq | ==ではなく===や!==など型も含めた厳密な比較を行う |
forin | for inには必ずhasOwnPropertyによるfilterをかける |
immed | ()を囲まない即時関数の呼び出しを禁止 |
indent | インデントを指定。それ以外のインデントは禁止 |
latedef | 定義する前に変数を使用することを禁止(巻き上げ) |
newcap | コンストラクタ関数は必ず先頭を大文字に。通常の関数は先頭を小文字に |
noarg | arguments.callerとarguments.calleeを禁止する |
noempty | 空のブロックを禁止する |
nonew | newの結果を代入したいことを禁止する(new Hoge()のように結果を変数に入れない状態) |
plusplus | インクリメントとデクリメントを禁止する |
quotmark | 文字列のクォートを''か""どちらかに統一する(trueかsingleかdoubleを指定) |
regexp | 正規表現に.を禁止する |
undef | 定義されていない変数の使用を禁止する |
unused | 使っていない変数の宣言を禁止する |
strict | 全ての関数でstrictモード "use strict"; が有効になっているかどうか。globalに定義することは許可されていない(globalstrict) |
trailing | 行末の余計なスペースを禁止する |
maxparams | 関数の引数を最大数を制限する(呼び出し側ではなく定義) |
maxdepth | スコープ内でのネストの深さの最大数を制限する |
maxstatements | 関数のstatementの数の最大数を制限する(関数は1としてカウントする) |
maxcomplexity | 循環的複雑度を制限する(http://ja.wikipedia.org/wiki/循環的複雑度) |
maxlen | 1行あたりの最大文字数を制限する |
name | memo |
---|---|
asi | セミコロンなしを許可する |
boss | if (a = b)のような条件式での代入を許可する |
debug | debuggerの使用を許可する |
eqnull | == nullによる比較を許可する |
es5 | ECMAScript5によって追加されたget, setを許可する |
esnext | ES.nextで定義されているconstを許可する |
evil | evalの使用を許可する |
expr | 代入や関数呼び出しが期待されているところで式をかくことを許可する(例: function () { 1 + 2 }) |
funcscope | ブロックスコープの外で変数が使われることを許可する(functionスコープ) |
globalstrict | グローバルスコープでuse strictすることを許可する |
iterator | __iterator__プロパティの使用を許可する(camelcaseにもひっかかる) |
lastsemic | 1行のブロックの場合、最後のセミコロンを省略することを許可する |
laxbreak | 区切り文字のない改行を許可する(例:if (a === b \n |
laxcomma | 先頭にコンマを付けるスタイルを許可する |
loopfunc | ループ内に関数を定義することを許可する |
multistr | 複数行のStringを許可する |
onecase | 1つだけの条件のswitchを許可する |
proto | __proto__プロパティの使用を許可する |
regexdash | エスケープしてない-が正規表現の文字クラス([])中の最後にあることを許可する |
scripturl | javascript:のような文字列を許可する |
smarttabs | tabとspaceのインデントが混在していることを許可する |
shadow | 同スコープ内で変数を再定義することを許可する |
sub | オブジェクトのプロパティの参照でドット表記が使える時でもobj['hoge']の表記で参照することを許可する |
supernew | new Objectやnew function(){}といった書き方も許可する |
validthis | コンストラクタ関数以外でのthisの呼び出しを許可する |
name | memo |
---|---|
browser | ブラウザで定義されているグローバルな要素の使用を許可する |
couch | CouchDBで定義されているグローバルな要素の使用を許可する |
devel | consoleやalertなどのデバッグ関数の使用を許可する |
dojo | DojoToolkitで定義されているグローバルな要素の使用を許可する |
jquery | jQueryで定義されているグローバルな要素の使用を許可する |
mootools | MooToolsで定義されているグローバルな要素の使用を許可する |
node | nodeで定義されているグローバルな要素の使用を許可する |
nonstandard | escapeとunescape関数の使用を許可する |
prototypejs | prototype.jsで定義されているグローバルな要素の使用を許可する |
rhino | rhinoで定義されているグローバルな要素の使用を許可する |
worker | WebWorkerで定義されているグローバルな要素の使用を許可する |
wsh | WindowsScriptHostで定義されているグローバルな要素の使用を許可する |
yui | YUIで定義されているグローバルな要素の使用を許可する |
name | memo |
---|---|
nomen | 変数名の前後に_がついていることを許可しない |
onevar | 関数内には1つvarしか許可しない |
passfail | エラーが見つかった時点で処理を中止する |
white | Douglas Crockfordのコーディングスタイルに照らし合わせてチェックする(しかし、そのルールはThe Good Partsの本にはしっかりとは記載されていない..) |