Vscode は自動的にコードを保存し、eslint および標準仕様に従ってコード設定を自動的にフォーマットします

スタイルの重要性

しばらくコーディングをしている場合は、必ず好みのスタイルを持っているはずです。特定のパターンで何百回、何千回もコーディングすると、そのコーディング方法が心地よいものであることがわかります。突然誰かがやって来て、行末にぶら下がっている中括弧を選び出し始めました。あなたは泣き言を言うかもしれません。深呼吸して考えてみてください。キーワードの後に​​括弧を置いたりスペースを入れたりしても、プログラムがより正確になるわけではありません。それは単なる個人的な好みです。

JavaScript には公式のコーディング スタイル ガイドはありません

標準のコーディング スタイルを採用するということは、個々のコーディング スタイルよりもコードの明瞭さとコミュニティの慣習が優先されることを意味します。これは必ずしもすべてのプロジェクトと開発文化に当てはまるわけではありませんが、プロジェクトをオープンソース化することは、初心者にとって非常に圧倒される可能性があります。貢献者の期待に応える明確で自動化されたコーディング スタイルを確立することで、より健全なプロジェクト開発につながる可能性があります。

あなたが自分のためにプログラムを書いていて、他の誰もあなたに貢献する必要がない場合は、あなたが最も満足できるツールとコーディング スタイルを使用してください。チームで作業するときは、摩擦を最小限に抑え、プロフェッショナルであり、小さなことにあまり時間を費やさないようにする必要があります。

独自のスタイルを導入する前に、時間をかけて既存のコードベースのスタイルを学びましょう。

JavaScript Standard Style(JavaScript 標準コーディングスタイル)

  •  インデント用に2 つのスペースを使用します
  • 文字列は一重引用符を使用します – エスケープが必要な場合を除きます
  • 冗長な変数はもうありません-多くのバグ の原因です  !
  • セミコロンなし – セミコロンがないことの利点を説明する 3 つの記事を以下に示します。記事 1 記事 2 記事 3
  • (、  [、または で行を ` 開始しないでください
  • これは、セミコロンを省略すると問題が発生する可能性がある 唯一の場所です。自動検出がツールに追加されました!
  • 【詳細】[4]
  • キーワードの後に​​スペースを追加する if (condition) { ... }
  • 関数名の後にスペースを追加します function name (arg) { ... }
  • === Congruent  Discardに固執します == が、 チェックが必要なnull || undefined 場合は使用してください obj == null
  • Node.js のエラー コールバックに渡された err 引数を必ず処理してください。
  • window – document および navigator exceptで始まるブラウザ グローバルを使用する場合 
  • これらの一見普通のグローバル変数 、  openなど  を 誤って使用しないようにしてくださいlength
    eventname
  • ルールの完全なリストを見る 

最も物議を醸す規則は、間違いなくセミコロンがないことです。一貫してセミコロンを使用することがエラーを回避するためのベストプラクティスであると長年信じられてきました.Crockfordはこれを促進するために多くのことを行ってきました.セミコロンの使用には深いルーツがあります.走る。

JavaScript Standard Style (JavaScript 標準コーディング スタイル) が私の考えを変えました。セミコロンのない JavaScript は非常に優れています。

セミコロンの自動挿入は、ノイズを減らしてプログラムを簡素化する JavaScript の機能です。セミコロンの欠落が原因でバグに遭遇したことはありません。 詳細については、JavaScript ではセミコロンが必要ですか? を参照してください 。

誰もが同意しているわけではありません。 セミコロンの使用を強調して、半標準的なフォーク と 幸福は 少し否定的です。これらのフォークは、標準全体を無視するという点を見逃しているため、少し感傷的だと思います。

ルールに同意できない場合、ルールを変更できますか?

いいえ。この一連の standard 仕様を定式化する目的は、不必要なコード スタイルの論争で時間を無駄にしないようにすることです。インデントにタブとスペースのどちらを使用するかという問題は、長い間議論されてきましたが、答えはありません。これについて議論することで、事前に要件を書くことができます。規範に従ってください standard 。もう躊躇する必要はありません。結局のところ、どのように議論しても、常にスタイルを選択することになります。誰もが個人的な意味論と普遍的な価値の間でトレードオフを行うことができることを願っています.

個人的には、セミコロンの構文を使用しない Ruby、Python、CoffeeScript を記述する必要があるためか、セミコロンを使用しないコーディング スタイルが好きになりました。なんらかの理由で、セミコロンが見えない方がプログラムがより明確になります。

良いプログラム階層

プログラマーは次の点に注意する必要があります。

  1. 正しさ
  2. 可読性
  3. 幸せ
  4. 高効率

JavaScript Standard Style(JavaScript標準コーディングスタイル)を採用することで、上記のそれぞれにメリットがあることがわかりました。

正しさ

すべてのプログラムで使用されるものはすべて、必要に応じて実行し、バグがないようにする必要があります。

コーディング スタイルによってプログラムがより正確になるわけではありませんが、ツールをチェックすると、エラーをリリースする前にいくつかのエラーを検出するのに役立ちます。

可読性

プロの開発者として、正常に実行できるプログラム コードを提供することに加えて、コードの読みやすさが最も重要です。プログラムを読んで理解しようとすると、書くよりも労力と時間がかかるため、将来の自分やコードを保守する他の人が読みやすいように最適化してください。

明確で予測可能なスタイルにより、コードが読みやすく理解しやすくなります。

プログラマーの幸せ

私が JavaScript 標準スタイル (JavaScript 標準コーディング スタイル) を気に入っている理由の 1 つは、それが機械ではなく人に焦点を当てていることです。プログラマーの幸福度がこのリストで 3 位にランクされている唯一の理由は、チームワークでは可読性がより必要とされるためであり、機能的なコードの正確さは私たち自身の幸福度よりも優先されるべきであることは疑いの余地がありません。

あなたは人生を楽しみたいですよね?物事を早く終わらせ、仕事が楽しいなら、それこそが私たちが人生を楽しみたいということではないでしょうか? これは私たちが生きている理由の一部です。あなたの人生はより良くなるでしょう。

– Yukihiro Matsumoto (Fool's Wharf 注: Matsumoto Yukihiro は、日本のコンピューター科学者およびプログラマーです。Ruby プログラミング言語の主な設計者および実装者です。)

人生は短すぎて、個人の好みの違いで意見が分かれたりすることはありません. 基準を設けて前進したほうがよいのではないでしょうか. 標準的なコーディング スタイルによってチーム間の意見の相違や摩擦が回避されれば、より満足できるでしょう。

高効率

最後にリストされていますが、重要なことです。

これらの点の間でトレードオフを行う必要がある場合は、コードの正確性、読みやすさ、およびプログラマーが喜んでコードをすばやく作成できるようにすることに重点を置く必要があります。

コンピュータは高速です。プログラムが効率的であれば問題ありません。パフォーマンスの低下に気付いた場合は、パフォーマンスのボトルネックを見つけて、コードをより効率的にすることに時間を費やしてください。

人間は、問題の処理が比較的遅いです。物事をより効率的にすることは、私たちにとってより価値があります。標準のコーディング スタイルを採用する明快さにより、コードをより迅速に理解して貢献することができます。また、意見の相違に費やす時間が大幅に短縮されます。これは非常に歓迎すべきことです。

独自の構成をいくつか追加します (ESlint および標準)

1.依存関係をインストールする

プロジェクト ディレクトリに eslint と standard をインストールします (これは vue タイプ プロジェクトのデフォルトと一致するコード スタイルであり、他のスタイルはオプションです)

cmd でプロジェクトのルート ディレクトリに移動し、次のコマンドを実行します。

1 npm i eslint standard --save-dev

2.標準ルールを使用した個人的な eslint 構成 (プロジェクトのルート ディレクトリに .eslintrc.js ファイルを追加)

module.exports = {
  root: true,
  parser: 'babel-eslint',
  parserOptions: {
    sourceType: 'module',
    "allowImportExportEverywhere": true  //ignore eslint error: 'import' and 'export' may only appear at the top level
  },
  env: {
    browser: true,
    node: true,
    es6: true,
  },
  extends: 'eslint:recommended',
  // required to lint *.vue files
  plugins: [
    'html',
    'vue'
  ],
  // add your custom rules here
  //it is base on https://github.com/vuejs/eslint-config-vue
  'rules': {
    'accessor-pairs': 2,
    'arrow-spacing': [2, {
      'before': true,
      'after': true
    }],
    'block-spacing': [2, 'always'],
    'brace-style': [2, '1tbs', {
      'allowSingleLine': true
    }],
    'camelcase': [0, {
      'properties': 'always'
    }],
    'comma-dangle': [2, 'never'],
    'comma-spacing': [2, {
      'before': false,
      'after': true
    }],
    'comma-style': [2, 'last'],
    'constructor-super': 2,
    'curly': [2, 'multi-line'],
    'dot-location': [2, 'property'],
    'eol-last': 2,
    'eqeqeq': [2, 'allow-null'],
    'generator-star-spacing': [2, {
      'before': true,
      'after': true
    }],
    'handle-callback-err': [2, '^(err|error)$'],
    'indent': [2, 2, {
      'SwitchCase': 1
    }],
    'jsx-quotes': [2, 'prefer-single'],
    'key-spacing': [2, {
      'beforeColon': false,
      'afterColon': true
    }],
    'keyword-spacing': [2, {
      'before': true,
      'after': true
    }],
    'new-cap': [2, {
      'newIsCap': true,
      'capIsNew': false
    }],
    'new-parens': 2,
    'no-array-constructor': 2,
    'no-caller': 2,
    'no-console': 'off',
    'no-class-assign': 2,
    'no-cond-assign': 2,
    'no-const-assign': 2,
    'no-control-regex': 0,
    'no-delete-var': 2,
    'no-dupe-args': 2,
    'no-dupe-class-members': 2,
    'no-dupe-keys': 2,
    'no-duplicate-case': 2,
    'no-empty-character-class': 2,
    'no-empty-pattern': 2,
    'no-eval': 2,
    'no-ex-assign': 2,
    'no-extend-native': 2,
    'no-extra-bind': 2,
    'no-extra-boolean-cast': 2,
    'no-extra-parens': [2, 'functions'],
    'no-fallthrough': 2,
    'no-floating-decimal': 2,
    'no-func-assign': 2,
    'no-implied-eval': 2,
    'no-inner-declarations': [2, 'functions'],
    'no-invalid-regexp': 2,
    'no-irregular-whitespace': 2,
    'no-iterator': 2,
    'no-label-var': 2,
    'no-labels': [2, {
      'allowLoop': false,
      'allowSwitch': false
    }],
    'no-lone-blocks': 2,
    'no-mixed-spaces-and-tabs': 2,
    'no-multi-spaces': 2,
    'no-multi-str': 2,
    'no-multiple-empty-lines': [2, {
      'max': 1
    }],
    'no-native-reassign': 2,
    'no-negated-in-lhs': 2,
    'no-new-object': 2,
    'no-new-require': 2,
    'no-new-symbol': 2,
    'no-new-wrappers': 2,
    'no-obj-calls': 2,
    'no-octal': 2,
    'no-octal-escape': 2,
    'no-path-concat': 2,
    'no-proto': 2,
    'no-redeclare': 2,
    'no-regex-spaces': 2,
    'no-return-assign': [2, 'except-parens'],
    'no-self-assign': 2,
    'no-self-compare': 2,
    'no-sequences': 2,
    'no-shadow-restricted-names': 2,
    'no-spaced-func': 2,
    'no-sparse-arrays': 2,
    'no-this-before-super': 2,
    'no-throw-literal': 2,
    'no-trailing-spaces': 2,
    'no-undef': 2,
    'no-undef-init': 2,
    'no-unexpected-multiline': 2,
    'no-unmodified-loop-condition': 2,
    'no-unneeded-ternary': [2, {
      'defaultAssignment': false
    }],
    'no-unreachable': 2,
    'no-unsafe-finally': 2,
    'no-unused-vars': [2, {
      'vars': 'all',
      'args': 'none'
    }],
    'no-useless-call': 2,
    'no-useless-computed-key': 2,
    'no-useless-constructor': 2,
    'no-useless-escape': 0,
    'no-whitespace-before-property': 2,
    'no-with': 2,
    'one-var': [2, {
      'initialized': 'never'
    }],
    'operator-linebreak': [2, 'after', {
      'overrides': {
        '?': 'before',
        ':': 'before'
      }
    }],
    'padded-blocks': [2, 'never'],
    'quotes': [2, 'single', {
      'avoidEscape': true,
      'allowTemplateLiterals': true
    }],
    "no-extra-semi": 2,//禁止多余的冒号
    'semi': ['error', 'always'],  // 在js后面添加分号
    // 'semi': [0, 'never'],
    'semi-spacing': [0, {
      'before': false,
      'after': true
    }],
    'space-before-blocks': [2, 'always'],
    'space-before-function-paren': [2, 'never'],
    'space-in-parens': [2, 'never'],
    'space-infix-ops': 2,
    'space-unary-ops': [2, {
      'words': true,
      'nonwords': false
    }],
    'spaced-comment': [2, 'always', {
      'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
    }],
    'template-curly-spacing': [2, 'never'],
    'use-isnan': 2,
    'valid-typeof': 2,
    'wrap-iife': [2, 'any'],
    'yield-star-spacing': [2, 'both'],
    'yoda': [2, 'never'],
    'prefer-const': 2,
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
    'object-curly-spacing': [2, 'always', {
      objectsInObjects: false
    }],
    'array-bracket-spacing': [2, 'never']
  }
}

 標準構成ドキュメント

   // 0 はオフ、1 は警告、2 はエラー報告
  ルール: {     // "no-alert": 1,// アラート確認プロンプトの使用を禁止     // "no-array-constructor": 2,//配列コンストラクターの使用を禁止する     // "no-bitwise": 0, // ビット演算子の使用を禁止する     // "no-caller": 1, // arguments.caller または arguments.callee の使用を禁止する     // " no-catch -shadow": 2,// 外部スコープ変数と同じ名前の catch 句パラメーターを禁止する     // "no-class-assign": 2,// クラスへの値の割り当てを禁止する     // "no -cond-assign": 2,/ /条件式で代入文の使用を禁止     // "no-console": 1,//コンソールの使用を禁止     // "no-const-assign": 2,// const で宣言された変数の変更を禁止     // "no-constant-condition": 2,//条件式での定数式の使用を禁止する if(true) if(1)     // "no-continue": 0,// continue の使用     // "no-control-regex": 2,// 正規表現での制御文字の使用を許可しない     // "no-debugger": 2,// デバッガーの使用を無効にする













    // "no-delete-var": 2, // var で宣言された変数には削除演算子を使用できません
    // "no-div-regex": 1, // 除算のような正規表現は使用できません /= foo/
    // "no-dupe-keys": 2, //オブジェクト リテラルの作成時に重複キーを許可しない {a:1,a:1} // "no-
    dupe-args": 2,//関数パラメータを繰り返し
    // "no-duplicate-case": 2, // switch 内の case ラベルを繰り返すことはできません
    // "no-else-return": 2, //if ステートメントに return がある場合、それはできません// "no-empty": 2,//ブロックステートメント
    の内容を空にすることはできません
    // "no-empty-character-class": 2,//ブロック ステートメントの [] の内容正規表現を空にすることはできません
    // " no-empty-label": 2,// 空のラベルの使用を禁止します
    // "no-eq-null": 2,// == または != 演算子の使用を禁止しますnull
    // "no-eval": 1, //eval の使用を禁止する
    // "no-ex-assign": 2,//catch ステートメントでの例外パラメータの割り当てを禁止する
    // "no-extend-native ": 2,//ネイティブオブジェクトの拡張を禁止
    // "no-extra-bind": 2,//不要な関数バインディングを禁止
    // "no-extra-boolean-cast": 2,//不要な bool 変換を禁止する
    // "no-extra-parens": 2,//不要な括弧を禁止する
    // "no-extra-semi" : 2,/ /冗長なコロンを禁止する
    // "no-fallthrough": 1,//スイッチの侵入を禁止する
    // "no-floating-decimal": 2,//浮動小数点数で 0.5 の省略を禁止する 3.
    // "no-func- assign": 2,//関数宣言の繰り返しを禁止する
    // "no-implicit-coercion": 1,//暗黙的な変換を禁止する
    // "no-implied-eval": 2,/ /暗黙的な eval の使用を禁止する
    // "no-inline-comments": 0,//インライン コメントを禁止
    // "no-inner-declarations": [2, "functions"],//ブロック ステートメント (変数または関数) での宣言の使用を禁止
    // "no-invalid-regexp": 2, // 無効な正規表現を禁止
    // "no-invalid-this": 2, // 無効な this を禁止、コンストラクタ、クラス、オブジェクト リテラルでのみ使用
    // "no-irregular-whitespace": 2,//不規則なスペースはありませ
    ん // "no-iterator": 2,// __iterator__ 属性の使用を禁止します
    // "no-label-var": 2,// ラベル名は var で宣言された変数名と同じにすることはできません
    // "no-labels": 2,// ラベル宣言を許可しません
    // "no-lone- blocks": 2 ,//不要な入れ子ブロックを禁止
    // "no-lonely-if": 2,//else文中のif文のみ禁止
    // "no-loop-func": 1,//ループ内での使用を禁止関数 (外部変数への参照がなく、クロージャーが不要な場合)
    // "no-mixed-requires": [0, false], //
    "no-mixed-spaces- and-tabs ": [2, false],//タブとスペースを混在させないでください
    // "linebreak-style": [0, "windows"],//改行スタイル
    // "no-multi-spaces": 1 ,//余分なスペースは使用できません
    // "no-multi-str": 2,// 文字列は \
    // "no-multiple-empty-lines": [1, {"max": 2}でラップできません],// 空行は最大 2 行を超えることはできません
    // "no-native-reassign": 2,//ネイティブ オブジェクトは書き換えられません
    // "no-negated-in-lhs": 2,// in 演算子の左辺には指定できません!
    // "no-nested-ternary": 0,// ネストされた三項演算は禁止されています
    // "no-new": 1,// new を使用してインスタンスを構築した後に値を代入しないことを禁止
    // "no-new-func": 1,// new Function を使用することを禁止
    // "no-new-object ": 2,// new Object() の使用を禁止する
    // "no-new-require": 2,// new require の使用を禁止する
    // "no-new-wrappers": 2,// new を使用してラッパー インスタンスを作成します。new String new Boolean new Number
    // "no-obj-calls": 2,// Math() などの組み込みグローバル オブジェクトを呼び出すことはできません JSON()
    // "no-octal ": 2,//8 進数の使用を禁止する
    // "no-octal-escape": 2,//8 進数のエスケープ シーケンスの使用を禁止する
    // "no-param-reassign": 2,//への再割り当てを無効にするparameters
    // "no-path-concat": 0, // ノード内のパス結合に __dirname または __filename を使用しないでください
    // "no-plusplus": 0,// ++ の使用を禁止します, --
    // " no-process-env": 0,//プロセス .env の使用を禁止
    // "no-process-exit": 0,// process.exit() の使用を禁止
    // "no-proto": 2,// __proto__ 属性の使用を禁止
    // "no-redeclare": 2,//変数を再宣言しないでください
    // "no-regex-spaces": 2,//正規表現リテラルで複数のスペースを使用しないでください /foo bar/
    // "no -restricted- modules": 0,//指定されたモジュールが無効になっている場合、エラーが報告されます
    // "no-return-assign": 1,//return ステートメントに代入式を含めることはできません
    // "no-script- url ": 0,// javascript:void(0) の使用を禁止する
    // "no-self-compare": 2,// 自分自身を比較できない
    // "no-sequences": 0,// の使用を禁止するコンマ演算子
    // "no-shadow": 2,// 外側のスコープの変数は、それが含まれるスコープ内の変数またはパラメーターと同じ名前を持つことはできません // "no-shadow-
    restricted-names": 2, //strict モードで指定
    // "no-spaced-func": 2, // 関数が呼び出されるとき、関数名と () の間にスペースがあってはならない
    / / "no-sparse-arrays": 2 ,//スパース配列を禁止します, [1,,2]
    // "no-sync": 0,//nodejs は同期メソッドを禁止します
    //"no-ternary": 0,//三項演算子の使用を無効にする
    // "no-trailing-spaces": 1,//行末の後にスペースを入れないでください
    // "no-this-before-super": 0, // super() を呼び出す前に this または super を使用できません
    // "no-throw-literal": 2,// リテラル エラーのスローを禁止します throw "error ";
    / / "no-undef": 1,// 未定義の変数は存在できません
    // "no-undef-init": 2,// 変数は初期化時に undefined に直接割り当てることはできません
    // "no-undefined " : 2,//Undefined は使用できません
    // "no-unexpected-multiline": 2,//複数行の表現は避けてください
    // "no-underscore-dangle": 1,//識別子を _ で開始または終了することはできません
    // " no-unneeded-ternary": 2,//不要な入れ子を禁止 var isYes = answer === 1 ? true : false; //
    "no-unreachable": 2,//到達不能なコードはあり得ない
    // "no- unused-expressions": 2,//無駄な式を禁止
    // "no-unused-vars": [2, {"vars": "all", "args": "after-used "}],//宣言後に使用されない変数やパラメーターは存在できません
    // "no-use-before-define": 2,// undefined の前には使用できません
    // "no-useless-call": 2,//Prohibit電話して申し込む
    // "no-void": 2, // void 演算子を無効にする
    // "no-var": 0, // var を無効にし、代わりに let と const を使用する
    // "no-warning-comments": [1, { " terms": ["todo", "fixme", "xxx"], "location": "start" }], // 警告メモを持つことはできません // "no-with": 2, // 無効にする
    //
    " array-bracket-spacing": [2, "never"],//空でない配列で余分なスペースを許可するかどうか// "
    arrow-parens": 0,//矢印関数は括弧で囲みます
    // " arrow- Spacing": 0, // => の前後の括弧
    // "accessor-pairs": 0, // オブジェクトで getter/setter を使用する
    // "block-scoped-var": 0, // ブロックで var を使用するステートメント
    // "brace-style": [1, "1tbs"],//Brace style
    // "callback-return": 1,//複数のコールバックを避ける
    //"camelcase": 2,// キャメル ケースの命名を強制
    // "comma-dangle": [2, "never"],// オブジェクト リテラル項目の末尾にコンマを付けることはできません
    // "comma-spacing": 0,//コンマの先頭と末尾のスペース
    // "comma-style": [2, "last"],//カンマ スタイル、折り返し時の行頭または行末
    // "complexity": [0, 11],//巡回複雑度
    // " compute -property-spacing": [0, "never"],//計算されたキー名を許可するかどうか
    // "consistent-return": 0,//リターン後の省略を許可するかどうか
    // "consistent-this" : [2, "that"],//このエイリアス
    // "constructor-super": 0,// 非派生クラスは super を呼び出せません。派生クラスは super を呼び出す必要があります
    // "curly": [2, "all" ], //if(){} では {} を使用する必要があります。
    // "default-case": 2, //switch ステートメント
    の末尾には default が必要です。オブジェクト アクセサー、改行 行頭または行末
    // "dot-notation": [0, { "allowKeywords": true }], //不要な角括弧を避ける
    // "eol-last ": 0,//ファイルは 1 つの改行で始まり
    // "eqeqeq": 2, //合同を使用する必要があります
    // "func-names": 0,//関数式には名前が必要です
    // "func-style": [0, "declaration"],// 関数宣言/関数式のみを使用できることを規定する関数スタイル // "
    generator-star-spacing": 0,// ジェネレーター関数の* 前後のスペース
    // "guard-for-in": 0, //for in ループは if ステートメントでフィルタリングする必要があります
    // "handle-callback-err": 0, //nodejs 処理エラー
    // "id- length": 0 ,//変数名の長さ
    // "indent": [2, 2],//インデント スタイル
    // "init-declarations": 0,//
    "key- Spacing": [ 0, { "beforeColon": false, "afterColon": true }],//オブジェクト リテラルのコロンの前後のスペース // "lines-around-comment": 0,//Comment before
    /行の後
    // " max-depth": [0, 4],//ネストされたブロックの深さ
    // "max-len": [0, 80, 4],//文字列の最大長
    // "max -ネストされたコールバック": [ 0, 2],//コールバックのネストの深さ
    // "max-params": [0, 3],//関数は最大 3 つのパラメーターのみを持つことができます
    // "max-statements": [0, 10],//最大で関数内のいくつかのステートメント
    // "new-cap": 2, //関数名の最初の行の大文字は new で呼び出す必要があり、最初の小文字は new なしで呼び出す必要があります // "new-parens": 2, //
    Must // "newline-after-var": 0, //変数
    宣言の後に空行が必要かどうか
    // "object-curly-spacing": [0, "never"],//不必要なスペースは中かっこで許可されます Space
    // "object-shorthand": 0, // 必須のオブジェクト リテラル省略構文
    // "one-var": 1, // 連続宣言
    // "operator-assignment": [0, "always"],/ / 代入演算子 += -= what
    // "operator-linebreak": [2, "after"],// 行がbreak
    // "padded-blocks": 0,// ブロック ステートメントの行頭と行末に空白行があるかどうか
    // "prefer-const": 0,//Const が優先される
    // " prefer-spread": 0,//Expansion 操作を優先
    ​​// "prefer-reflect": 0,/ /Reflect の方法を優先
    //"quotes": [1, "single"],//quote type`` "" ''
    // "quote-props":[2, "always"],//オブジェクト リテラルのプロパティ名に二重引用符が必須かどうか
    // "radix": 2, //parseInt は 2 番目のパラメーターを指定する必要があります
    // "id-match": 0, // 名前付き検出
    // "require-yield": 0, // ジェネレーター関数には yield が必要です
    // " semi": [2, "never"],//ステートメントはセミコロンの終わりを強制します
    // "semi-spacing": [0, {"before": false, "after": true}],//Theセミコロン前後のスペース
    // "sort-vars": 0,//変数宣言時のソート
    // "space-after-keywords": [0, "always"],//キーワードの後に​​スペースがあるかどうか
    // "space -before-blocks": [0, "always"],// 改行で始まらないブロック {前にスペースがあるかどうか // "space-
    before-function-paren": [0 , "always"],/ / 関数の定義時に括弧の前にスペースを入れるかどうか
    // "space-in-parens": [0, "never"], // 括弧の中にスペースを入れるかどうか
    / /「スペースインフィックス操作」: 0,// 中置演算子の前後にスペースがあるかどうか
    // "space-return-throw-case": 2, // return throw case の後にスペースを追加しますか
    // "space-unary-ops": [0 , { " words": true, "nonwords": false }],// 単項演算子の前後にスペースを追加するかどうか
    // "spaced-comment": 0, //コメント スタイルにスペースはありますか?
    // "strict": 2,//厳格モードを使用します
    // "use-isnan": 2,//NaN は比較に使用できません , isNaN() のみを使用できます
    // "valid-jsdoc": 0, // jsdoc ルール
    // "valid-typeof": 2, // 正当な typeof 値を使用する必要があります
    // "vars-on-top": 2,//var はスコープの先頭に配置する必要があります
    // "wrap-iife": [2, "inside"],// 関数式をすぐに実行するかっこスタイル
    // "wrap-regex": 0, // 正規表現リテラルは括弧で囲みます
    // "yoda": [2, "never"]// Yoda 条件を禁止します
  }

おすすめ

転載: blog.csdn.net/qq_23334071/article/details/114501358