[Deep Dive] 10. オブジェクト
10806 ワード
1.対象とは?
JavaScriptはオブジェクト(object)に基づくプログラミング言語であり,その構成のほとんどがオブジェクトである.→元の値以外の値(関数、配列、正規表現など)はオブジェクトです.
オブジェクトは、0個以上のプロパティの集合であり、プロパティはキー(キー)と値(値)で構成されます.
property値が関数である場合、メソッド(method)と呼ばれ、通常の関数を区別します.
属性:オブジェクトの状態を表す値(データ)
方法:Property(ステータスデータ)を参照および操作する動作
2.オブジェクトの作成
→人が理解できる文字や約定記号を用いて値を生成する記号法.
let person = {
name: "Kim",
sayHello: function(){
console.log(`Hello! My Name is ${this.name}.`);
}
}
console.log(typeof person); // object
console.log(person); // {name: "Kim", sayHello: f}
// 중괄호 내에 프로퍼티를 정의하지 않으면 빈 객체가 생성된다.
let empty = {}; // 빈 객체
console.log(typeof empty); // object
3.割引
let person = {
// 프로퍼티 키는 name, 프로퍼티 값은 "Kim"
name: "Kim",
// 프로퍼티 키는 age, 프로퍼티 값은 29
age: 29
};
|7|propertyキー:すべての空の文字列またはシンボル値①propertyキーはproperty値に近い名前として識別子として機能する.
②
4.方法
let circle = {
radius: 5, // 프로퍼티
//원의 지름
getDiameter: function(){ // 메서드
return 2 * this.radius; // this는 circle을 가리킨다.
}
};
console.log(circle.getDiameter()); // 10
// 메서드 내부에 사용한 this키워드는 객체 자신(circle객체)을 가리키는 참조변수다.
5.Propertyアクセス
①句点表記法
let person = {
name: "kim"
}
// 마침표 표기법에 의한 프로퍼티 접근
console.log(person.name); // Kim
②かっこ表示法(かっこ表示法)
let person = {
name: "kim"
}
// 마침표 표기법에 의한 프로퍼티 접근
console.log(person.name); // Kim
let person = {
name: "kim"
}
// 대괄호 표기법에 의한 프로퍼티 접근
console.log(person["name"]); // Kim
6.property値の更新
let person = {
name: "Kim"
};
person.name = "Lee";
console.log(person); // {name: "Lee"}
7.動的作成プロパティ
let person = {
name: "Kim"
};
// person 객체에는 age 프로퍼티가 존재하지 않는다.
// person 객체에 age 프로퍼티가 동적으로 생성되고 값이 할당된다.
person.age = 29;
console.log(person); // {name: "Kim", age: 29}
8.プロパティの削除
let person = {
name: "Kim"
};
// 프로퍼티 동적 생성
person.age = 29;
// person 객체에 age 프로퍼티가 존재한다.
// delete 연산자로 age 프로퍼티를 삭제할 수 있다.
delete person.age;
// person 객체에 address 프로퍼티가 존재하지 않는다.
// 존재하지 않는 프로퍼티를 삭제하면 아무런 에러 없이 무시된다.
delete person.address;
console.log(person); // {name: "Kim"}
Reference
この問題について([Deep Dive] 10. オブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@hyesom/Deep-Dive-10.-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol