English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScriptの基本的なチュートリアル

JavaScriptのオブジェクト

JavaScriptの関数

JSHTMLDOM

JSブラウザBOM

AJAXの基本的なチュートリアル

JavaScriptのリファレンスマニュアル

JavaScript オブジェクトの作成

オブジェクトは属性メソッドの集合からなるデータタイプです。

多くの他のプログラミング言語と同様に、JavaScriptのオブジェクトは現実世界のオブジェクトと比較できます。

JavaScriptでは、基本的にすべてがオブジェクトです:

  • 文字列はオブジェクト(newキーワードを使用して定義されている場合)でできます

  • 数字はオブジェクト(newキーワードを使用して定義されている場合)でできます

  • ブール値はオブジェクト(newキーワードを使用して定義されている場合)でできます

  • 日付は常にオブジェクトです

  • 数学は常にオブジェクトです

  • 配列は常にオブジェクトです

  • 正则表达式は常にオブジェクトです

  • 関数は常にオブジェクト

  • Objectはオブジェクト

原語以外のすべてのJavaScript値はオブジェクトです。

JavaScript基本型

原始値は属性やメソッドを持たない値です。

JavaScriptでは、5の種類の原始型があります:

  • string

  • number

  • boolean

  • null

  • undefined

オブジェクトは変数

JavaScriptの変数は一つの値しか含むことができません。

var user = "oldtoolbag.com";
テストを見て‹/›

オブジェクトも変数ですが、オブジェクトは多くの値を含むことができます。

オブジェクトを以下のように書くことができますname:valueを、コロン(:)で区切ります。

var user = {firstName: "ビシャル", lastName: "ジョダリ", age:22, location: "ニューデリー"};
テストを見て‹/›

JavaScriptオブジェクトは無序の属性の集合です。

オブジェクト属性

属性はオブジェクト内の名前と値の関連であり、どんなデータ型も含むことができます。

属性は通常、オブジェクトの特徴を指します。

属性属性値
firstName维沙尔
lastName乔达里
age22
locationニューデリー

次の章で属性に関するもっと詳しい情報を学びます。

オブジェクトメソッド

メソッドはオブジェクト属性の値として関数であり、したがってオブジェクトが実行できるタスクです。

メソッドは属性として保存された関数として関数定義

属性適切な値
firstName维沙尔
lastName乔达里
age22
locationニューデリー
getNamefunction() { return this.firstName + " " + this.lastName;}

注意:は属性として保存された関数です。

JavaScriptオブジェクトを作成する

JavaScriptには多くのプリミティブなオブジェクトがあります。また、自分自身のオブジェクトを作成することもできます。

新しいオブジェクトを作成する方法はいくつかあります:

  • user.location = "新德里";オブジェクト定数を先に作成します。これは大括号{}を使用しています。

  • user.location = "新德里";オブジェクト構造関数を先に作成します。これはnew Object()を使用しています。

  • または、まず以下のようにコンストラクタ   その関数を呼び出すオブジェクトをインスタンス化する例

オブジェクト定数を使用して、

user.location = "新德里";オブジェクト定数これはJavaScriptオブジェクトを作成する最も簡単な方法です。

user.location = "新德里";オブジェクト定数、オブジェクトを一つの文で定義して作成することができます。

以下の例では、四个属性を持つ新しいJavaScriptオブジェクトを作成します:

var user = {firstName: "ビシャル", lastName: "ジョダリ", age:22, location: "ニューデリー"};
テストを見て‹/›

オブジェクトの定義は複数行にわたることができます:

var user = {
  firstName: "维沙ル",
  lastName: "乔达里",
  age: 22,
  location: "ニューデリー"
};
テストを見て‹/›

new Object()を使用して

user.location = "新德里";オブジェクト構造関数これはJavaScriptオブジェクトを作成する別の方法です。

以下の例では、四个属性を持つ新しいJavaScriptオブジェクトを作成します:

var user = new Object();
user.firstName = "维沙ル";
user.lastName = "乔达里";
user.age = 22;
user.age =
テストを見て‹/›

;

user.location = "新德里";以下の二つの例は完全に同じです。new Object()を使用する必要はありません。オブジェクトリテル

これはより一般的で推奨される方法であり、不一致や予期せぬ結果が発生する可能性が低いです。

コンストラクタを使用する

  • 以下の二つのステップでオブジェクトを作成できます:コンストラクタオブジェクトの型を定義する(大文字で始まる慣習を使用しています)

  • newキーワードを使用してオブジェクトの作成例

以下の例では、構造関数を通じてオブジェクトの型を定義しています:

  function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
  }

今や、名前空間user1のオブジェクト、以下のように表示されます:

var user1 = new User("ヴィシャル", "ジョダリ", 22, "新德里");
テストを見て‹/›

このチュートリアルの後半部分で説明しますコンストラクタ

JavaScriptオブジェクトは可変です

可変は変更できる変数です。JavaScriptでは、オブジェクトと配列のみが可変で、原始値ではありません。

可変オブジェクトは、作成後にその状態を変更できるオブジェクトです。

不可変オブジェクトは、一旦オブジェクトが作成されるとその状態を変更することができないオブジェクトです。

文字列数字不可変なこの点を理解するために、例を示しましょう:

  var immutableString = "Hello";
  
  // 上記のコードでは、新しい文字列値を持つ新しいオブジェクトが作成されています。
  
  immutableString = immutableString + "World";
  
  // 今や「World」を現在の値に追加します。

"immutableString"を文字列値に追加した後、以下のイベントが発生します:

  • "immutableString"の現在の値を取得します。

  • "World"が"immutableString"の現在の値の後に追加されます。

  • その後、結果値は新しいメモリブロックに割り当てられます。

  • 今や、"immutableString"オブジェクトは新しいメモリ空間を指しています。

  • 以前に作成されたメモリ空間は現在ゴミ収集に使用できます。

オブジェクトは可変です:参照ではなく値を通じてアドレスを取得します。

userがオブジェクトである場合、以下の文はそのユーザーのコピーを作成しません:

  var x = user;  // これによりuserのコピーは作成されません。

オブジェクトxはuserのコピーではありません。それはuser自身です。xとuserは同じオブジェクトです。

xに対するどんな変更もuserに影響を与えます、なぜならxとuserは同じオブジェクトだからです。

var user = {firstName: "ビシャル", lastName: "ジョダリ", age:22, location: "ニューデリー"};
var x = user;
x.location = "Goa";// これにより、x.locationとuser.locationが同時に変更されます
テストを見て‹/›

オブジェクトの比較

JavaScriptでは、オブジェクトは参照型です。二つの異なるオブジェクトが同じ属性を持っていても、彼らは決して等しくなりません。

// 二つの変数、同じ属性を持つ異なる二つのオブジェクト
var fruit = {name: "apple"};
var fruitbear = {name: "apple"};
fruit == fruitbear;  // 返却 false
fruit === fruitbear; // 返却 false
テストを見て‹/›

同一オブジェクトの参照を自身と比較するとtrueが返されます:

// 二つの変数、一つのオブジェクト
var fruit = {name: "apple"};
var fruitbear = fruit;  // fruitオブジェクトの参照をfruitbearに割り当てる
// このfruitとfruitbearは同じオブジェクトを指している
fruit == fruitbear; // 返却 true
fruit === fruitbear; // 返却 true
テストを見て‹/›