+`を使用して、変数自体の概念を示すことができます。以下の例では、変数を_declare_し、それに値を_assign_します。"sammy_shark";このステートメントは、いくつかの部分で構成されています。+」を表すことを記憶します。console.log(true);}Outputtrue前述のように、変数はJavaScriptデータ型を表すために使用できます。この例では、文字列、数値、オブジェクト、ブール値、null値を持つ変数を宣言します。+`を使用すると、特定の変数に含まれる値を確認できます。consoleconsole.log(spartans);Output300変数は、後でアクセスおよび変更できるメモリにデータを保存します。変数を再割り当てして、新しい値を与えることもできます。以下の単純化された例は、パスワードが変数に保存され、更新される方法を示しています。"hunter3";console.log(password);Output'hunter3'実際のプログラムでは、パスワードはほとんどの場合データベースに安全に保存されます。この例は、変数の値を更新する必要がある状況を示しています。+」に再割り当てしました。変数の命名JavaScriptでは、変数名は_識別子_と呼ばれます。JavaScriptの構文とコード構造の理解で、識別子の命名規則のいくつかをここでまとめました。`で宣言された関数と変数の名前にキャメルケース(キャメルケースとして定型化される場合があります)を使用する規則もあります。これは、最初の単語を小文字で書き、その後にスペースのない後続のすべての単語の最初の文字を大文字にする習慣です。定数ではないほとんどの変数は、いくつかの例外を除き、この規則に従います。+`キーワードで宣言された定数の変数名は、通常すべて大文字で記述されます。これは多くの学習ルールのように思えるかもしれませんが、有効で従来の変数名を書くことはすぐに第二の性質になります。+`の違いJavaScriptには、変数を宣言するための3つの異なるキーワードがあり、言語に複雑さの層を追加します。3つの違いは、スコープ、巻き上げ、および再割り当てに基づいています。scopeNoNoNoあなたは自分のプログラムで3つのうちどれを使うべきか疑問に思うかもしれません。」を使用することです。可変スコープJavaScriptの_Scope_は、変数のJavaScriptへのアクセシビリティを決定するコードの現在のコンテキストを指します。スコープの2つのタイプは、_local_と_global_です。*グローバル変数*は、ブロックの外側で宣言されたものです*ローカル変数*はブロック内で宣言されたものです以下の例では、グローバル変数を作成します。"wolf";変数を再割り当てできることを学びました。ローカルスコープを使用すると、元の値を変更または再割り当てすることなく、外部スコープの変数と同じ名前の新しい変数を実際に作成できます。+`変数を作成します。関数内には、同じ名前のローカル変数があります。それらをコンソールに送信すると、スコープによって変数の値がどのように異なり、元の値は変更されないことがわかります。variableconsole.log(species);transform();console.log(species);Outputhumanwerewolfhumanこの例では、ローカル変数は_function-scoped_です。+`キーワードで宣言された変数は常に関数スコープです。関数は別のスコープを持つものとして認識されます。したがって、このローカルスコープの変数は、グローバルスコープからアクセスできません。`は_block-scoped_です。+`ループを含む、あらゆる種類のブロックから作成されます。+`ブロックに新しい変数を割り当てます。+`を使用する場合、異なる結果になります。`を使用して新しいローカル変数を作成する代わりに、同じスコープ内で同じ変数を再割り当てするためです。+`が別の新しいスコープの一部であることを認識しません。一般的に、変数値を意図せずオーバーライドする可能性が低いコードを生成するため、ブロックスコープの変数を宣言することをお勧めします。+`を使用し、値で_initialized_を持っています。宣言して初期化した後、変数にアクセスまたは再割り当てできます。`キーワードを省略すると、変数を宣言するのではなく、初期化するだけです。+`を返し、スクリプトの実行を停止します。definedこの理由は、変数と関数の宣言がスコープの最上部に移動するJavaScriptの動作である_hoisting_によるものです。この概念をより明確に示すために、以下に記述したコードとJavaScriptが実際にどのように解釈したかを示します。`をメモリに保存しました。undefined」になります。`が発生してスクリプトが停止することはありません。`の位置を変更しませんでしたが、これは巻き上げがどのように機能するかを示す有用な表現です。+`であることを期待するため、この動作は問題を引き起こす可能性があります。次の例では、巻き上げが予測不可能な結果を​​もたらす可能性があることも確認できます。`として宣言しました。」の値に影響を与えてはなりませんでした。このタイプの予測できない動作は、プログラムにバグを引き起こす可能性があります。+`はブロックスコープであるため、以下に示すように、この方法ではホイストされません。+`でエラーをスローします。`で導入された変数は、変数宣言がメモリに保存されるJavaScriptのメカニズムであるホイストの影響を受ける可能性があります。これにより、コードに未定義の変数が生じる場合があります。+`の導入により、変数を宣言する前または変数を複数回宣言しようとする前に変数を使用しようとするとエラーがスローされるため、この問題が解決します。多くのプログラミング言語には、変更または変更できない値である_定数_があります。+`に割り当てられた値は再割り当てできません。+`識別子を大文字で書くのが一般的な慣例です。これにより、他の変数値から容易に区別できるものとしてマークされます。+」キーワードで定数として初期化します。変数を再割り当てしようとすると、エラーが発生します。+`値は再割り当てできないため、同時に宣言して初期化する必要があります。しないと、エラーもスローされます。declarationプログラミングで変更できない値は_immutable_として知られていますが、変更できる値は_mutable_です。+`で宣言されたオブジェクトのプロパティを変更できるため、それらは変更可能です。}定数は、将来の自分自身やプロジェクトで作業している他のプログラマーに、目的の変数を再割り当てしないことを明確にするのに役立ちます。+`を使用する必要があります。結論このチュートリアルでは、変数とは何か、変数の命名規則、および変数値の再割り当て方法について説明しました。+」がこれらの問題を修正する方法についても学びました。