JavaScript-オブジェクトの概要

JavaScriptは、オブジェクト指向プログラミング(OOP)言語です。プログラミング言語は、開発者に4つの基本機能を提供する場合、オブジェクト指向と呼ぶことができます。

  • Encapsulation −データであれメソッドであれ、関連情報をオブジェクトに一緒に格納する機能。

  • Aggregation −あるオブジェクトを別のオブジェクト内に格納する機能。

  • Inheritance −プロパティとメソッドの一部を別のクラス(またはクラスの数)に依存するクラスの機能。

  • Polymorphism −さまざまな異なる方法で機能する1つの関数またはメソッドを作成する機能。

オブジェクトは属性で構成されています。属性に関数が含まれている場合、それはオブジェクトのメソッドと見なされます。それ以外の場合、属性はプロパティと見なされます。

オブジェクトのプロパティ

オブジェクトプロパティは、3つのプリミティブデータ型のいずれか、または別のオブジェクトなどの抽象データ型のいずれかです。オブジェクトプロパティは通常、オブジェクトのメソッドで内部的に使用される変数ですが、ページ全体で使用されるグローバルに表示される変数にすることもできます。

オブジェクトにプロパティを追加するための構文は次のとおりです。

objectName.objectProperty = propertyValue;

For example −次のコードは、を使用してドキュメントタイトルを取得します "title" のプロパティ document オブジェクト。

var str = document.title;

オブジェクトメソッド

メソッドは、オブジェクトに何かをさせたり、オブジェクトに何かをさせたりする関数です。関数とメソッドの間にはわずかな違いがあります。関数では、ステートメントのスタンドアロンユニットであり、メソッドはオブジェクトにアタッチされており、this キーワード。

メソッドは、オブジェクトのコンテンツを画面に表示することから、ローカルプロパティとパラメータのグループに対して複雑な数学演算を実行することまで、すべてに役立ちます。

For example −以下は、使用方法を示す簡単な例です。 write() ドキュメントにコンテンツを書き込むためのドキュメントオブジェクトのメソッド。

document.write("This is test");

ユーザー定義オブジェクト

すべてのユーザー定義オブジェクトと組み込みオブジェクトは、と呼ばれるオブジェクトの子孫です。 Object

新しいオペレーター

ザ・ new演算子は、オブジェクトのインスタンスを作成するために使用されます。オブジェクトを作成するには、new 演算子の後にコンストラクターメソッドが続きます。

次の例では、コンストラクターメソッドはObject()、Array()、およびDate()です。これらのコンストラクターは組み込みのJavaScript関数です。

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");

Object()コンストラクタ

コンストラクターは、オブジェクトを作成して初期化する関数です。JavaScriptは、と呼ばれる特別なコンストラクター関数を提供しますObject()オブジェクトを構築します。の戻り値Object() コンストラクターは変数に割り当てられます。

変数には、新しいオブジェクトへの参照が含まれています。オブジェクトに割り当てられたプロパティは変数ではなく、で定義されていませんvar キーワード。

例1

次の例を試してください。オブジェクトの作成方法を示しています。

<html>
   <head>
      <title>User-defined objects</title>     
      <script type = "text/javascript">
         var book = new Object();   // Create the object
         book.subject = "Perl";     // Assign properties to the object
         book.author  = "Mohtashim";
      </script>      
   </head>
   
   <body>  
      <script type = "text/javascript">
         document.write("Book name is : " + book.subject + "<br>");
         document.write("Book author is : " + book.author + "<br>");
      </script>   
   </body>
</html>

出力

Book name is : Perl 
Book author is : Mohtashim

例2

この例は、ユーザー定義関数を使用してオブジェクトを作成する方法を示しています。ここにthis キーワードは、関数に渡されたオブジェクトを参照するために使用されます。

<html>
   <head>   
   <title>User-defined objects</title>
      <script type = "text/javascript">
         function book(title, author) {
            this.title = title; 
            this.author  = author;
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
      </script>      
   </body>
</html>

出力

Book title is : Perl 
Book author is : Mohtashim

オブジェクトのメソッドの定義

前の例は、コンストラクターがオブジェクトを作成してプロパティを割り当てる方法を示しています。ただし、オブジェクトにメソッドを割り当てて、オブジェクトの定義を完了する必要があります。

次の例を試してください。オブジェクトと一緒に関数を追加する方法を示しています。

<html>
   
   <head>
   <title>User-defined objects</title>
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            this.price = amount; 
         }
         
         function book(title, author) {
            this.title = title;
            this.author  = author;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

出力

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

'with'キーワード

ザ・ ‘with’ キーワードは、オブジェクトのプロパティまたはメソッドを参照するための一種の省略形として使用されます。

の引数として指定されたオブジェクト with次のブロックの期間中、デフォルトのオブジェクトになります。オブジェクトのプロパティとメソッドは、オブジェクトに名前を付けなくても使用できます。

構文

withobjectの構文は次のとおりです-

with (object) {
   properties used without the object name and dot
}

次の例を試してください。

<html>
   <head>
   <title>User-defined objects</title>   
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            with(this) {
               price = amount;
            }
         }
         function book(title, author) {
            this.title = title;
            this.author = author;
            this.price = 0;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

出力

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

JavaScriptネイティブオブジェクト

JavaScriptには、いくつかの組み込みオブジェクトまたはネイティブオブジェクトがあります。これらのオブジェクトは、プログラムのどこからでもアクセスでき、どのオペレーティングシステムで実行されているどのブラウザでも同じように機能します。

これがすべての重要なJavaScriptネイティブオブジェクトのリストです-

  • JavaScript番号オブジェクト

  • JavaScriptブールオブジェクト

  • JavaScript文字列オブジェクト

  • JavaScript配列オブジェクト

  • JavaScriptの日付オブジェクト

  • JavaScript数学オブジェクト

  • JavaScriptRegExpオブジェクト