JSチュートリアル

JSホーム JSの紹介 JSどこへ JS出力 JSステートメント JS構文 JSコメント JS変数 JS Let JSConst JSオペレーター JS算術 JS割り当て JSデータ型 JS関数 JSオブジェクト JSイベント JS文字列 JS文字列メソッド JS文字列検索 JS文字列テンプレート JS番号 JS番号メソッド JSアレイ JS配列メソッド JS配列ソート JSアレイの反復 JSアレイ定数 JSの日付 JSの日付形式 JS DateGetメソッド JS日付設定メソッド JS数学 JSランダム JSブール値 JSの比較 JS条件 JSスイッチ JSループFor JSループフォーイン JSループの JSループWhile JSブレイク JSIterables JSセット JSマップ JS Typeof JS型変換 JSビット単位 JS RegExp JSエラー JSスコープ JSホイスト JS厳密モード JSこのキーワード JSアロー関数 JSクラス JS JSON JSデバッグ JSスタイルガイド JSのベストプラクティス JSの間違い JSパフォーマンス JS予約語

JSバージョン

JSバージョン JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE /エッジ JSの歴史

JSオブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクト表示 オブジェクトアクセサー オブジェクトコンストラクター オブジェクトのプロトタイプ オブジェクト反復可能 オブジェクトセット オブジェクトマップ オブジェクトリファレンス

JS関数

関数の定義 関数パラメーター 関数の呼び出し 関数呼び出し 機能適用 関数クロージャ

JSクラス

クラスイントロ クラス継承 クラス静的

JS非同期

JSコールバック JS非同期 JSの約束 JS Async / Await

JS HTML DOM

DOMイントロ DOMメソッド DOMドキュメント DOM要素 DOM HTML DOMフォーム DOM CSS DOMアニメーション DOMイベント DOMイベントリスナー DOMナビゲーション DOMノード DOMコレクション DOMノードリスト

JSブラウザBOM

JSウィンドウ JS画面 JSロケーション JSの歴史 JSナビゲーター JSポップアップアラート JSタイミング JSクッキー

JS Web API

WebAPIイントロ WebフォームAPI Web履歴API WebストレージAPI WebワーカーAPI Web Fetch API Web Geolocation API

JS AJAX

AJAXイントロ AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

JS JSON

JSONイントロ JSON構文 JSONとXML JSONデータ型 JSON解析 JSON文字列化 JSONオブジェクト JSON配列 JSONサーバー JSON PHP JSON HTML JSON JSONP

JSとjQuery

jQueryセレクター jQuery HTML jQuery CSS jQuery DOM

JSグラフィックス

JSグラフィックス JSキャンバス JSPlotly JS Chart.js JSグーグルチャート JS D3.js

JSの例

JSの例 JS HTML DOM JSHTML入力 JSHTMLオブジェクト JSHTMLイベント JSブラウザ JSエディター JS演習 JSクイズ JS証明書

JSリファレンス

JavaScriptオブジェクト HTMLDOMオブジェクト


JavaScriptスタイルガイド


すべてのJavaScriptプロジェクトで常に同じコーディング規則を使用してください。


JavaScriptのコーディング規約

コーディング規約は、プログラミングのスタイルガイドラインですそれらは通常以下をカバーします:

  • 変数と関数の命名と宣言のルール。
  • 空白、インデント、およびコメントの使用に関する規則。
  • プログラミングの実践と原則

コーディング規約は品質を確保します

  • コードの可読性が向上します
  • コードのメンテナンスを容易にする

コーディング規約は、チームが従うべき文書化されたルールにすることも、個々のコーディング慣行にすることもできます。

このページでは、W3Schoolsで使用される一般的なJavaScriptコード規則について説明します。
また、次の章「ベストプラクティス」を読み、コーディングの落とし穴を回避する方法を学ぶ必要があります。


変数名

W3schoolsでは、識別子名(変数と関数)にキャメルケースを使用しています。

すべての名前は文字で始まります。

このページの下部に、命名規則に関する幅広い議論があります。

firstName = "John";
lastName = "Doe";

price = 19.90;
tax = 0.20;

fullPrice = price + (price * tax);

オペレーターの周りのスペース

常に演算子(= +-* /)の前後、およびコンマの後にスペースを入れてください。

例:

let x = y + z;
const myArray = ["Volvo", "Saab", "Fiat"];


コードのインデント

コードブロックのインデントには、常に2つのスペースを使用してください。

機能:

function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}

インデントにタブ(タブ)を使用しないでください。編集者が異なれば、タブの解釈も異なります。


ステートメントルール

簡単なステートメントの一般的なルール:

  • 単純なステートメントは常にセミコロンで終了します。

例:

const cars = ["Volvo", "Saab", "Fiat"];

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

複雑な(複合)ステートメントの一般的な規則:

  • 最初の行の終わりに開き角かっこを置きます。
  • 開き角かっこの前に1つのスペースを使用します。
  • 先頭にスペースを入れずに、閉じ括弧を新しい行に配置します。
  • 複雑なステートメントをセミコロンで終わらせないでください。

機能:

function toCelsius(fahrenheit) {
  return (5 / 9) * (fahrenheit - 32);
}

ループ:

for (let i = 0; i < 5; i++) {
  x += i;
}

条件:

if (time < 20) {
  greeting = "Good day";
} else {
  greeting = "Good evening";
}

オブジェクトルール

オブジェクト定義の一般的な規則:

  • オブジェクト名と同じ行に開き角かっこを配置します。
  • 各プロパティとその値の間にコロンと1つのスペースを使用します。
  • 数値ではなく、文字列値を引用符で囲みます。
  • 最後のプロパティと値のペアの後にコンマを追加しないでください。
  • 先頭にスペースを入れずに、閉じ括弧を新しい行に配置します。
  • オブジェクト定義は常にセミコロンで終了してください。

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

短いオブジェクトは、次のように、プロパティ間にのみスペースを使用して、1行に圧縮して書き込むことができます。

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

線の長さ<80

読みやすくするために、80文字を超える行は避けてください。

JavaScriptステートメントが1行に収まらない場合、それを分割するのに最適な場所は、演算子またはコンマの後にあります。

document.getElementById("demo").innerHTML =
"Hello Dolly.";

命名規則

すべてのコードに常に同じ命名規則を使用してください。例えば:

  • キャメルケースとして記述された変数名と関数名
  • 大文字で書かれたグローバル変数(私たちはしませんが、それはかなり一般的です)
  • 大文字で書かれた定数(PIなど)

変数名にhyp- hens 、camelCase、または under_scoresを使用する必要がありますか?

これは、プログラマーがよく議論する質問です。答えはあなたが誰に尋ねるかによります:

HTMLおよびCSSのハイフン:

HTML5属性は、data-(data-quantity、data-price)で始めることができます。

CSSは、プロパティ名(フォントサイズ)にハイフンを使用します。

ハイフンは減算の試みと間違えられる可能性があります。JavaScript名にはハイフンを使用できません。

下線:

多くのプログラマーは、特にSQLデータベースでアンダースコア(date_of_birth)を使用することを好みます。

アンダースコアは、PHPのドキュメントでよく使用されます。

PascalCase:

PascalCaseは、Cプログラマーに好まれることがよくあります。

キャメルケース:

camelCaseは、JavaScript自体、jQuery、およびその他のJavaScriptライブラリによって使用されます。

名前を$記号で始めないでください。多くのJavaScriptライブラリ名と競合することになります。


HTMLでJavaScriptをロードする

外部スクリプトをロードするために単純な構文を使用します(type属性は必要ありません):

<script src="myscript.js"></script>

HTML要素へのアクセス

「乱雑な」HTMLスタイルを使用すると、JavaScriptエラーが発生する可能性があります。

これらの2つのJavaScriptステートメントは、異なる結果を生成します。

const obj = getElementById("Demo")

const obj = getElementById("demo")

可能であれば、HTMLで(JavaScriptと同じ)命名規則を使用してください。

HTMLスタイルガイドにアクセスしてください


ファイル拡張子

HTMLファイルの拡張子は.htmlである必要があります( .htmを使用できます)。

CSSファイルの拡張子は.cssである必要があります。

JavaScriptファイルの拡張子は.jsである必要があります。


小文字のファイル名を使用する

ほとんどのWebサーバー(Apache、Unix)は、ファイル名について大文字と小文字を区別します。

london.jpgはLondon.jpgとしてアクセスできません。

他のWebサーバー(Microsoft、IIS)では、大文字と小文字は区別されません。

london.jpgには、London.jpgまたはlondon.jpgとしてアクセスできます。

大文字と小文字を組み合わせて使用​​する場合は、非常に一貫している必要があります。

大文字と小文字を区別しないサーバーから大文字と小文字を区別するサーバーに移行すると、小さなエラーでもWebサイトが破損する可能性があります。

これらの問題を回避するには、常に小文字のファイル名を使用します(可能な場合)。


パフォーマンス

コーディング規約はコンピューターでは使用されません。ほとんどのルールは、プログラムの実行にほとんど影響を与えません。

小さなスクリプトでは、インデントと余分なスペースは重要ではありません。

開発中のコードでは、読みやすさが優先されます。より大きな本番スクリプトは縮小する必要があります。