JavaScriptのデータ型:基本的な型と参照型の値_基礎知識
ECMAScript 変数には、基本型の値と参照型の値という 2 つの異なるデータ型の値が含まれます。プリミティブ型の値は単純なデータの一部ですが、参照型の値は複数の値で構成されるオブジェクトです。
変数に値を割り当てるとき、パーサーはその値がプリミティブ型であるか参照型であるかを判断する必要があります。基本的な型には、Unknown、Null、Boolean、Number、String が含まれます。これらの 5 つの基本的なデータ型は値によってアクセスされるため、変数に格納されている実際の値はメモリ オブジェクトに格納されます。他の言語とは異なり、JavaScript ではメモリ内の場所に直接アクセスすることができません。つまり、オブジェクトのメモリ空間を直接操作することはできません。オブジェクトを操作する場合、実際には実際のオブジェクトではなくオブジェクトへの参照を操作することになるため、参照型の値は参照によってアクセスされます。
1. 動的属性
基本型を定義する方法と参照型を定義する方法は非常に似ています。参照型の値の場合、次のように、プロパティとメソッドを追加したり、プロパティやメソッドを変更したり削除したりすることもできます。
person.name = "zxj";
アラート(人物.名前) //"zxj"
2. 変数値をコピーします
基本型の値をある変数から別の変数にコピーすると、変数オブジェクトに新しい値が作成され、新しい変数に割り当てられた場所にコピーされます。
var num2 = num1 //5
;
var obj2 = obj1;
obj1.name = "zxj";
アラート(obj2.name); //"zxj"
3. パラメータを渡す
ESMAScript のすべての関数のパラメーターは値によって渡されます。つまり、関数の外の値を関数内のパラメーターにコピーすることは、ある変数から別の変数に値をコピーすることと同じです。プリミティブ型の変数がコピーされるのと同じように、プリミティブ型の値が渡されます。参照型の値の転送は、参照型変数のコピーと同じです。変数にアクセスするには値による方法と参照による方法の 2 つがあるのに対し、パラメータは値によってのみ渡すことができるため、多くの開発者はこの時点で混乱するかもしれません。基本型の値をパラメーターに渡すと、渡された値はローカル変数 (名前付きパラメーター) にコピーされます。次のコードに示すように:
数値 = 10;
数値を返します;
}
変数数 = 20;
var result = addTen(count);
alert(count); // 20、変化なし
アラート(結果); // 30
参照型の値をパラメータに渡すと、メモリ内の値のアドレスがローカル変数にコピーされるため、このローカル変数の変更は関数の外部に反映されます。ここでは参照型を使用して見てみましょう:
Obj.name = "zxj";
}
var person = new Object();
setName(人);
アラート(人物.名前) //"zxj"
この関数内では、obj と person は同じオブジェクトを参照します。つまり、オブジェクトが値によって渡された場合でも、obj は同じオブジェクトに参照によってアクセスします。したがって、関数内で obj に name 属性を追加すると、関数外の人物も反映されます。これは、人物が指すオブジェクトはヒープ メモリ上に 1 つしかなく、グローバル オブジェクトであるためです。多くの開発者は、ローカル スコープで変更されたオブジェクトがグローバル スコープに反映される、つまりパラメータが参照によって渡されると誤解しています。オブジェクトが値によって渡されることを証明するために、次の変更された例を見てみましょう:
function setName(obj) {
Obj.name = "zxj";
Obj = new Object();
Obj.name = "sdf";
}
var person = new Object();
setName(人);
アラート(人名);
上記の例からわかるように、person が参照によって渡される場合、person は name 属性値が「sdf」である新しいオブジェクトを指すように自動的に変更されます。ただし、次に person.name にアクセスすると、「zxj」が表示されたままになります。これは、関数内でパラメーターの値が変更されても、元の参照は変更されないことを示しています。実際、obj が関数内でオーバーライドされると、この変数はローカル オブジェクトを参照します。このローカル オブジェクトは、関数の実行が完了するとすぐに破棄されます。
ECMAScript 関数のパラメータはローカル変数と考えてください。
4. 検出タイプ
typeof は基本的なデータ型を検出する場合には強力なアシスタントですが、この演算子は参照型を検出する場合にはあまり役に立ちません。通常、値がオブジェクトであるかどうかを知りたいのではなく、それがどのようなタイプのオブジェクトであるかを知りたいのです。 ECMAScript は、この目的のために、instanceof 演算子を提供します。その構文は次のとおりです:
result = コンストラクターの変数インスタンス
変数が指定された参照型のインスタンスである場合、instanceof 演算子は true を返します:
アラート(オブジェクトの人物インスタンス);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQL データベースでは、通常、性別フィールドは ENUM タイプを使用して保存できます。 ENUM は、定義済みの値のセットから 1 つをフィールドの値として選択できる列挙型です。 ENUM は、性別などの固定的で限定されたオプションを表す場合に適しています。具体的なコード例を見てみましょう。性別を含むユーザー情報を含む「users」というテーブルがあるとします。ここで性別のフィールドを作成したいと思います。テーブル構造は次のように設計できます: CRE

ジェネリック関数が Go でポインター型を処理する場合、元の変数への参照を受け取り、変数値を変更できるようになります。参照型は渡されるときにコピーされるため、関数は元の変数値を変更できなくなります。実際の例には、汎用関数を使用して文字列または数値のスライスを比較することが含まれます。

MySQL では、性別フィールドに最も適したデータ型は ENUM 列挙型です。 ENUM 列挙型は、可能な値のセットを定義できるデータ型です。通常、性別には男性と女性の 2 つの値しかないため、性別フィールドは ENUM 型の使用に適しています。次に、具体的なコード例を使用して、MySQL で性別フィールドを作成し、ENUM 列挙型を使用して性別情報を保存する方法を示します。手順は次のとおりです。 まず、MySQL に users という名前のテーブルを作成します。

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

MD5値とは何ですか?コンピューター サイエンスでは、MD5 (MessageDigestAlgorithm5) は、メッセージのダイジェストまたは暗号化に使用される一般的に使用されるハッシュ関数です。通常は 32 ビットの 16 進数で表される、固定長の 128 ビットの 2 進数を生成します。 MD5 アルゴリズムは、1991 年に Ronald Rivest によって設計されました。 MD5 アルゴリズムは、暗号化の分野ではもはや安全ではないと考えられていますが、データ整合性検証やファイル検証では依然として広く使用されています。

データベース テーブルを設計する場合、適切なデータ型を選択することは、パフォーマンスの最適化とデータ ストレージの効率にとって非常に重要です。 MySQL データベースでは、性別フィールドには通常、男性または女性の 2 つの値しかないため、性別フィールドを保存するデータ型にいわゆる最良の選択はありません。ただし、効率とスペースを節約するために、性別フィールドを保存するのに適切なデータ型を選択できます。 MySQL では、性別フィールドを格納するために最も一般的に使用されるデータ型は列挙型です。列挙型は、フィールドの値を限られたセットに制限できるデータ型です。

MySQL でのブール型の使用方法の詳細な説明 MySQL は、一般的に使用されるリレーショナル データベース管理システムです。実際のアプリケーションでは、論理的な true と false の値を表すためにブール型を使用する必要があることがよくあります。 MySQL には Boolean 型の表現方法として TINYINT(1) と BOOL の 2 つがあります。この記事では、ブール型の定義、代入、クエリ、変更など、MySQL でのブール型の使用方法を詳細に紹介し、具体的なコード例を示して説明します。 1. ブール型は MySQL で定義されており、次のようにすることができます。

C 言語は、効率的で柔軟かつ強力な、広く使用されているコンピューター プログラミング言語です。 C 言語でのプログラミングに習熟するには、まずその基本的な構文とデータ型を理解する必要があります。この記事では、C言語の基本的な構文とデータ型を例とともに紹介します。 1. 基本構文 1.1 コメント C 言語では、コメントを使用してコードを説明し、理解と保守を容易にすることができます。コメントは、単一行コメントと複数行コメントに分類できます。 //これは 1 行のコメントです/*これは複数行のコメントです*/1.2 キーワード C 言語
