JavaScript の概要

JavaScript はその名前に反して Java とのみ関連しており、Java と Java では 記述できます。JavaScript の構文は、初期の開発段階では、 Java の構文に着想を得たもので、「LiveScript」と呼ばれていました。最初に 1995 年に Netscape Navigator のベータ版で出荷されました Netscape が「ライブ」で動作しているという事実をうかがいます。 表示されます。Microsoft は JavaScript の独自の実装をリリースしましたが、 "JScript"Internet Explorer 3.0 で 起動されました

Netscape は、この初期の作業を Ecma International は、 技術標準を開発、公開し、この技術標準を正式に定め、 スクリプト言語は他のブラウザでも認識される必要があります。1997 年、Ecma は ECMA-262 を国際的にリリースし、スクリプティングの最初のバージョンを標準化 ECMAScript という言語です。ECMAScript は、インフラストラクチャの作成に必要な たとえば Microsoft の後年の研究では すべて揃っています。

この区別は、Google Cloud の特定の側面や機能について説明する際に 使用できます。「ES5」「バージョン管理された」バージョンをの ECMAScript は、長年にわたるより断片的な開発を経て、2009 年に標準化されました。 「ES6」(または「ES2015」)は、 2015 年にリリースされた ECMAScript。ES6 より後の ECMAScript の新しいエディション Standard は毎年リリースされており、各エディションの変更や追加が 「ES2016」では年単位で参照“ES2017”などです

基本的なルール

コンパイル言語とは異なり、JavaScript はユーザーが記述するコードから変換されない ブラウザが理解できる形式に変換されます。スクリプトがブラウザに送信されます。 マークアップ、画像、スタイルシートなどのアセットとともに表示されると、ブラウザがそれを解釈します。 これは、人が読める形式の Unicode 文字のシーケンスとして、 左から右、上から下に解析されます。

JavaScript インタープリタはスクリプトを受け取ると、最初に 字句分析。スクリプトを構成する長い文字列を解析します。 次の個別の入力要素に変換します。

  • トークン
  • 形式制御文字
  • 行終端子
  • コメント
  • 空白文字(ほぼ タブとスペースを意味します)。

スクリプトを再読み込みした後や別のページから移動しても、スクリプトの結果が保持されない 明示的に指定しない限り、現在のページに表示されなくなります。 指定します。

大まかに言うと、JavaScript アプリケーションはステートメント

声明文

ステートメントは、1 行以上のコードで構成される命令の単位です。 アクションを表します。たとえば、次のステートメントを使用して、 myVariable という名前の変数に値を代入します。

let myVariable = 4;

myVariable;
> 4

ステートメントが正しく解釈されるようにするには、ステートメントの末尾をセミコロンにする必要があります。ただし、 JavaScript を記述する場合、セミコロンは必須ではありません。これは、 自動セミコロン挿入機能では、行を 完全なステートメントの後の改行は、行が挿入されていない場合、セミコロンとして扱われます。 セミコロンを使用するとエラーになります。

ASI はエラーを訂正するための機能であり、JavaScript 自体の機能を許容するものではありません。なぜなら、 このエラー修正に頼りすぎると、あいまいさにつながり、 それでも、すべてのステートメントを手動でセミコロンで終了する必要があります。

ブロック ステートメント

ブロック ステートメントは、ペア内の任意の数のステートメントと宣言をグループ化します。 中かっこ({})。これにより、JavaScript が動作する場所で複数のステートメントを組み合わせることができます。 1 つのみとなります。

ブロック ステートメントは、最も頻繁に 制御フロー ステートメント (例: if):

if ( x === 2 ) {
  //some behavior;
}

は、値を生成するコードの単位であり、 使用できます。2 + 2 は式で、 値 4:

2 + 2;
> 4

「グループ化演算子」は、2 つのかっこで囲まれたペアで、次の場合に 式の部分をグループ化して、式の一部が 単一の単位として評価されますたとえば、グループ化演算子を使用して、 演算の順序をオーバーライドする コードの可読性を向上させることもできます。

2 + 2 * 4;
> 10

( 2 + 2 ) * 4;
> 16

let myVariable = ( 2 + 2 );

myVariable;
> 4

弱い入力

JavaScript は弱い型付け言語であるため、データ値に入力がなくても 特定のデータ型として明示的にマークする必要があります。 厳密な型付け言語とは異なり、JavaScript では目的の型を 値をその型に変換します。このプロセスを 型強制変換

たとえば、厳密に型指定された言語の文字列値に数値を追加すると、 結果はエラーになります。

>>> "1" + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

JavaScript はエラーを返すのではなく、数値を文字列に変換します。 2 つの値を連結します。これは、値を追加する際に最も 任意の値を文字列に:

"1" + 1;
> "11"

データ型を明示的に強制変換することもできます。次の例では、 JavaScript の組み込み関数を使用して、数値 100 を文字列値 "100" に変換 toString メソッド:

let myVariable = 100;

typeof myVariable;
> "number"

myVariable = myVariable.toString();
> "100"

typeof myVariable;
> "string"

大文字と小文字の区別

HTML や大半の CSS と異なり、JavaScript では完全に大文字と小文字が区別されます。 つまり、 言語に組み込まれたプロパティとメソッドを、定義した識別子に できます。

console.log( "Log this." );
> Log this.

console.Log( "Log this too." );
> Uncaught TypeError: console.Log is not a function
const myVariable = 2;

myvariable;
> Uncaught ReferenceError: myvariable is not defined

myVariable;
> 2

空白文字

JavaScript では空白文字が無視されます。つまりインタープリタは 使用された空白文字の量と種類(タブまたはスペース)。

                     console.log(       "Log this"  );console.log("Log this too");
> "Log this."
> "Log this too."

ただし、空白文字は、 語彙トークン:

let x;

[トークン: [let] [x] ]

letx;
> Uncaught ReferenceError: letx is not defined

[トークン: [letx] ]

意味のある語彙トークンを区切るために空白文字が使用される場合、パーサーは、 空白文字の量と型は無視されます。

let           x                             =                           2;

[トークン: [let] [x] [=] [2] ]

改行についても同じことが言えますが、改行が 宣言を途中で終了して問題を引き起こす場合):

let x
=
2;

[トークン: [let] [x] [=] [2] ]

文体的には、一部のタイプの文はしばしば 1 行を使用します。

let x = 1;
let y = 2;

一部のステートメントでは一般的に複数行が使用されます。

if ( x == 2 ) {
  //some behavior;
}

ただし、これらの規則は読みやすくするためのものです。JavaScript 上記のサンプルは、次のように解釈されます。

let x=1;let y=2;
if(x==2){}

そのため、不要な空白文字を取り除く 転送サイズを減らすためのスクリプト ファイルの作成は、JavaScript を準備する際の一般的な手順です。 ベスト プラクティスをいくつか紹介します。

JavaScript で空白文字を使用するかどうかは主に作成者と 設定しました。複数のデベロッパーによる JavaScript プロジェクト コードに貢献するコードでは、しばしば特定の空白文字に関する規則を コードの書式設定に一貫性を持たせる(たとえば、タブやスペースを使用して ネストされたステートメントをインデントする:

let myVariable = 10;

if ( typeof myVariable === "number" ) {
    console.log( "This variable is a number." );
    if( myVariable > 5 ) {
     console.log( "This variable is greater than five." );
    }
}

> "This variable is a number."
> "This variable is greater than five."

理解度をチェックする

式とは何ですか。

ステートメントと宣言のグループ。
コードの動作を説明するコメント。
値を生成するコードの単位。

JavaScript では大文字と小文字が区別されます。

誤り
正しい