JavaScript では、コンストラクター関数には PascalCase、その他の関数にはキャメルケースという命名規則が気に入っています。ReSharper がこれらの設定用に構成されているようです。ただし、次のようなコードの場合:
function Thing(a, b) {
return {
prop1: a,
prop2: b
};
}
var thing = new Thing(2, 6);
...次の警告が表示されます。
名前「モノ」はルール「ローカル関数」と一致しません。提案された名前は「物」です。
これに変更しても違いはありませんThing
:
function Thing(a, b) {
this.prop1 = a;
this.prop2 = b;
}
「パブリック」関数のみがコンストラクターと見なされると思われます。ReSharper が「ローカル」関数と「コンストラクター」関数をどのように区別するか知っている人はいますか? さらに良いことに、この動作をオーバーライドする方法を知っていますか?