複数の材料を含むオブジェクト(object)


オブジェクトは複合材料タイプと呼ばれます.これは、オブジェクトに複数のデータ型を含めることができるためです.ただし,オブジェクトもデータ型であるため,JavaScriptではオブジェクトもデータ型の基本単位の一つである.
let book={     
	title:"자바스크립트",
	author:"홍길동",
	pages: 500,
	price: 15000
}
使用オブジェクトは、上記の例のように、複数の情報を1つのユニットに組み合わせて格納することができる.JavaScriptでWebサイトまたはアプリケーションの資料を処理するには、1つの変数に複数の情報を含めることができるオブジェクトが必要です.
JavaScriptのオブジェクトタイプ
JavaScriptは、Webドキュメントに関連するすべてのコンテンツをオブジェクトとして扱います.
埋め込みオブジェクト
JAvascriptでよく使われる要素はjavascriptであらかじめオブジェクトとして定義されています.これらのオブジェクトを組み込みオブジェクト(build-in object)と呼びます.日付と時刻を計算するDateオブジェクト、Number、Boolean、Arrayなど、複数の組み込みオブジェクトが存在します.
ドキュメントオブジェクトモデル(DOM)
Webドキュメントをオブジェクトとして管理する方法をドキュメントオブジェクトモデルと呼ぶ.DOMは、Webドキュメントに加えて、Webドキュメント内のすべてのコンテンツをオブジェクトとして個別のオブジェクトとして作成します.(画像、テキスト、リンク等)Webドキュメント自体を表すドキュメントオブジェクト、画像を表す画像オブジェクトを含む複数のWebドキュメントオブジェクトが存在する.
ブラウザオブジェクトモデル(BOM)
BOMは、Webドキュメントを管理するようにブラウザ情報をオブジェクトとして扱う.「ブラウザオブジェクトモデル」BOMには、使用中のブラウザタイプまたはバージョンを含むNavigatorオブジェクト、アクセス履歴をブラウザに記録するHistoryオブジェクト、アドレスバーを表すLocationオブジェクトなど、複数のオブジェクトが存在します.
カスタムオブジェクト
埋め込みオブジェクトに加えて、ユーザーはオブジェクトを作成および使用することもできます.上記のbookの例に示すように、複数の情報を1つのユニットとして使用する場合、それらをオブジェクトとして作成して使用します.
オブジェクトのプロパティとメソッド
オブジェクトには次の2種類があります.オブジェクトには、データのプロパティとメソッドが含まれます.属性をテキストとして表す場合、オブジェクトの後に表示されます.(点)で指示します.
メソッドは、オブジェクト内で定義された関数です.メソッドとは、オブジェクトの内部でオブジェクトがどのように動作するかを定義する関数です.テキストとして表示される場合、オブジェクトの後ろに表示されます.(点)をクリックし、関数のようにかっこを付けます.代表的な方法はalert()です.これはwindowオブジェクトで定義された方法です.
メソッドは、WindowオブジェクトなどのJavaScript最上位オブジェクトに使用する場合、オブジェクトの名前を付けずに関数のみを使用できます.
オブジェクトのプロトタイプとインスタンス
オブジェクトを処理する場合、オブジェクトだけでなく2つのフォーマットがあります.オブジェクトを作成するには、設計図と同じ役割を果たすオブジェクトとして作成されたインスタンスであるプロトタイプとプロトタイプがあります.
オブジェクトを作成するときに果たす役割(フレームワークなど)をインスタンスと呼び、そのプロトタイプは実際にデータです.インスタンスの作成時にnewキーを使用します.newキーワードの後ろにオブジェクト名とカッコを付けます.
const now= new Date(); //now는 Date 객체의 인스턴스 인스턴스는 프로토타입에서 정의한 속성과 함수를 모두 사용 가능하다.
カスタムオブジェクトの作成
JavaScriptでは、組み込みオブジェクトのほかに、ユーザーが自分でオブジェクトを作成して使用することもできます.これらのユーザーが作成したオブジェクトは、ユーザー定義のオブジェクトと呼ばれます.
オブジェクトの作成方法

  • 文字記号
    文字記号とは、プログラミングで資料をマークする方法です.文字としてマークするとは、宣言と同時に値を指定するマーク方法です.
    オブジェクトをテキストとして宣言する場合は、カッコで囲み、属性名:値の形式でペアを指定します.複数の場合はカンマで区切ります.関数を値として使用するときに、関数名:関数タイプを指定することもできます.
  •  const a = 10; //선언과 값 지정을 동시에 한다.
    
     const book = {     //객체 리터럴 표기
     	title:"자바스크립트",
     	author:"홍길동",
     	pages: 500,
     	price: 15000,
     	info: function(){
     		alert(this.title + "책의 분량은" + this.pages + "쪽입니다.");
     	};
    
     book.title; //title 값 사용
     book.info(); //info 함수 사용 객체의 속성을 사용할때는 .을 찍고 그 다음에 명시한다.
    
     book.field="IT"; //현재 객체에 없는 속성을 표기하면 새로운 속성으로 추가된다.
    

  • コンストラクション関数の使用
    文字記号は、同じ属性を持つ複数のオブジェクトを作成する場合は、作成したオブジェクトが一致していることを確認するために、一度だけオブジェクトを作成できます.これらの値は異なりますが、同じプロパティのオブジェクトを作成するときにコンストラクション関数を使用します.コンストラクション関数は、オブジェクトに必要なプロパティと関数を事前に指定し、必要に応じてコンストラクション関数を使用してオブジェクトを作成します.
  •     //this는 생성될 객체자체를 가리킵니다. 생성자 함수의 파라미터들이 객체의 속성이 됩니다.
        function Book(author, pages, price, title){
        	this.author=author;
        	this.pages=pages;
        	this.price=price;
        	this.title=title;
        }
    
        //생성자 함수로 실제 객체를 생성할때는 new 키워드를 이용합니다. 해당 생성자로 새로운 객체가 만들어 졌습니다.
        const jsBook = new Book("닐스", 500, 15000, "집강아지");
    
        ```