1.識別子
いわゆる識別子(Identifier)が名前です。 JavaScript の識別子には、変数名、関数名、パラメーター名、プロパティ名、クラス名などが含まれます。
正当な識別子は、次の必須規則に従う必要があります。
- 最初の文字は、文字、アンダースコア (_)、またはドル記号 ($) でなければなりません。
- Unicode 文字は、最初の文字以外の位置で使用できます。通常、ASCII エンコード文字のみを使用することをお勧めします。2 バイト文字はお勧めしません。
- JavaScript キーワードおよび予約語と同じ名前を付けることはできません。
- Unicode エスケープ シーケンスを使用できます。たとえば、文字 a は “\u0061” を使用して表すことができます。
例
以下の例では、 str は変数の名前です: .
let message = "IT基礎:it-kiso.com";
document.write(message);
コードの 1 行目では str という名前の変数を定義し、2 行目では str という名前の変数を使用しています。
2. キーワード
キーワード (キーワード) は、JavaScript 言語で内部的に使用される一連の名前 (またはコマンド) です。これらの名前には特定の目的があり、ユーザーは同じ名前で識別子をカスタマイズすることはできません。詳細を表に示します。
break | delete | if | this | while |
case | do | in | throw | with |
catch | else | instanceof | try | |
continue | finally | new | typeof | |
debugger(ECMAScript 5新機能) | for | return | var | |
default | function | switch | void |
3. 予約語
予約語は、JavaScript 言語内で使用するために用意された一連の名前 (またはコマンド) です。これらの名前は現在のところ特に用途がなく、JavaScript のアップグレード用に予約されているため、ユーザーは使用しないことをお勧めします。具体的な指示を表に示します。
abstract | double | goto | native | static |
boolean | enum | implements | package | super |
byte | export | import | private | synchronized |
char | extends | int | protected | throws |
class | final | interface | public | transient |
const | float | long | short | volatile |
ECMAScript 3 では、すべての Java キーワードが予約語としてリストされますが、ECMAScript 5 ではより柔軟になります。次に例を示します。
- 非厳密モードでは、class、const、enums、export、extend、import、および super のみが予約語として指定され、その他の ECMAScript 3 予約語は自由に使用できます。
- 厳密モードでは、ECMAScript 5 はより慎重になり、implements、interface、let、package、private、protected、public、static、yield、eval (非予約語)、arguments (非予約語) の使用を厳密に制限します。
表に示すように、JavaScript では多くのグローバル変数と関数が事前定義されており、ユーザーはそれらの使用を避ける必要があります。
arguments | encodeURL | Infinity | Number | RegExp |
Array | encodeURLComponent | isFinite | Object | String |
Boolean | Error | isNaN | parseFloat | SyntaxError |
Date | eval | JSON | parseInt | TypeError |
decodeURL | EvalError | Math | RangeError | undefined |
decodeURLComponent | Function | NaN | ReferenceError | URLError |
異なる JavaScript ランタイム環境では、いくつかのグローバル変数と関数が事前に定義されています。上記の表にリストされているものは、Web ブラウザーのランタイム環境専用です。
厳格モードであろうと非厳格モードであろうと、変数名、関数名、または属性名を定義するときに上記の予約語を使用しないでください。学生が落とし穴に入らないようにするためです。
4. 大文字と小文字の区別
JavaScript では厳密に大文字と小文字が区別されるため、Hello と hello は 2 つの異なる識別子です。
入力の混乱や文法上の誤りを避けるために、コードを小文字で記述することをお勧めします。大文字は、次の特殊なケースで使用できます。
1) コンストラクターの最初の文字は大文字にすることをお勧めします。コンストラクタは通常の関数とは異なります。
例
次の例では、事前定義されたコンストラクター Date() を呼び出して時間オブジェクトを作成し、時間オブジェクトを文字列に変換して表示します。
d = new Date(); //現在の日付と時間を取得する
document.write(d.toString()); // 日付を表示する
2) 識別子が複数の単語で構成されている場合は、ラクダの命名を使用することを検討できます。最初の単語を除いて、次の単語の最初の文字は大文字になります。例えば:
typeOf();
printEmployeePaychecks();
ヒント:
上記は、慣習によって確立された一般的な習慣であり、必須の要件を構成するものではありません. ユーザーは、個人的な習慣に従って名前を付けることができます.
リテラルはリテラルとも呼ばれ、特定の値、つまり、文字列、数値、ブール値、正規表現、オブジェクト リテラル、配列リテラル、関数リテラルなど、計算または表示に直接関与できる値です。 .
例
次の例では、文字列、数値、ブール値、正規表現、特殊値、オブジェクト、配列、関数など、さまざまなタイプのリテラルを定義しています。
// 変数名を変更し、必要に応じて定数も変更する
// 空の文字列リテラル
1 // 数値リテラル
true // 真理値リテラル
/a/g // 正規表現リテラル
null // 特別な値リテラル
{} // 空のオブジェクトリテラル
[] // 空の配列リテラル
function(){} // 空の関数リテラル、つまり関数式