6

jshintJavaScriptファイルの検証に使用しています。

サーバー側では、Mongooseでnode.jsを使用しています。マングースでは、次のような方法でスキーマを作成することをお勧めします。

var UserSchema = new mongoose.Schema({
    firstname : { type: String, default: '' }
});

リンティングを実行すると、エラーが発生します。

Expected an identifier and instead saw 'default' (a reserved word).

このエラーを抑制する方法はありますか?私は本当に書くよりもその振る舞いを好むでしょう:

var UserSchema = new mongoose.Schema({
    firstname : { type: String, "default": '' }
});
4

2 に答える 2

5

default確かにJavaScriptの予約語です(https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words)。技術的には、オブジェクトプロパティ名でデフォルトを問題なく使用できますが、インタプリタが厳密な場合(lintのように)、その表記で問題が発生する可能性があります。

先に進む最も簡単な方法:引用符を追加して問題を修正します。リントはもうあなたを泣き言を言うことはありません。コードは2文字長くなっていますが、リンティングは成功し、予約済みのキーワードを使用しても問題が発生しないことが保証されます。

于 2012-06-19T17:06:41.150 に答える
4

「es5」オプションを使用して、これが発生しないようにすることもできます。

参照: http: //jslinterrors.com/expected-an-identifier-and-instead-saw-aa-reserved-word/

于 2013-08-29T14:53:02.707 に答える