10262


babelを使用してes6でjsを書いています。  
linterをjsxhintからeslintへ変更し、.eslintrcのno-shadowを2にしてチェックしたのですが、以下のような注意がでます。

[code]

    CLASS is alrerady declared in the upper scope. (no-shadow)
    
[/code]

※ CLASSは定義したclass名です  
no-
shadowを0にすれば出なくなるのは良いのですが、なぜこのようなエラーがでるのか理由を知りたく質問させていただきました。対処法があれば教えていただければ幸いです。  
よろしくお願いいたします。

非常にシンプルではありますがclassの例を記述します（これでも同じエラーが出ることを確認済）。

[code]

    class Something {
      constructor() {
        // do something
      }
    }
    
[/code]

.eslintrcは[airbnb/javascript](https://github.com/airbnb/javascript/blob/master/linters/.eslintrc)で再現可能かと思います。


CC BY-SA 3.0
2015-05-16T10:03:45.537
10257
2023-09-03T10:09:32.480
2023-09-03T10:09:32.480
19110
8270
question
javascript eslint
es6でclassを定義したとき、eslint（no-shadow: 2）を通らない理由を知りたい


ちょうど **今日** 、バグ報告されたようです。

[Latest release 0.21.1 fails with ES6 classes and babel-eslint · Issue #2545 ·
eslint/eslint](https://github.com/eslint/eslint/issues/2545)

とりあえずの回避策としては eslint のバージョンを 0.21.0 に落とせばいいとのこと。


CC BY-SA 3.0
2015-05-16T13:15:12.350
10262
2015-05-16T13:15:12.350
8000
10257
answer