[JS]10オブジェクトスパイラル
オブジェクト
var person = {
name: 'lee', //프로퍼티
age: 20 //프로퍼티
//age : 키 / 20 : 값
};
☝🏻 property値が関数である場合、メソッド(method)と呼ばれ、通常の関数を区別します.オブジェクトテキストからオブジェクトを作成するには
var person = {
name : 'lee',
sayHello: function() {
console.log(`Hello! my name is ${this.name}.`);
}
};
console.log(type of person); //object
console.log(person); //{name: 'lee', sayHello: f}
保証する
☝🏻
->propertyキーが識別子命名規則に従う名前の場合は、引用符を省略できます.
var person = {
firstname : 'nayeong', //식별자 네이밍 규칙을 준수하는 프로퍼티 키
'last-name': 'Kim' //식별자 네이밍 규칙을 준수하지 않는 프로퍼티 키
};
var obj = {};
var key = 'hello';
//ES5 : 프로퍼티 키 동적 생성
obj[key] = 'world';
//ES6 : 계산된 프로퍼티 이름
var obj = {[key]:'world'};
特許アクセス
var person = {
name : 'lee'
};
//마침표 표기법에 의한 프로퍼티 접근
console.log(person.name); //lee
//대괄호 표기법에 의한 프로퍼티 접근
console.log(person['name']; //lee
☝🏻 角カッコタグを使用する場合は、演算子の内部で指定されたPropertyキーは、引用符で囲まれた文字列でなければなりません.そうしないと、識別子として解釈されます.また、propertyキーがネーミングルールに従わない名前の場合は、四角カッコを使用する必要があります.
プロパティ値の更新
:既存のpropertyに値を割り当てると、property値がリフレッシュされます.
var person = {
name : 'lee'
};
person.name='kim';
console.log(person); // {name : 'kim'}
Property動的作成
:存在しないプロセスに値を割り当てると、プロセスが動的に作成され、追加され、値が割り当てられます.
var person = {
name : 'lee'
};
person.age=20;
console.log(person); // {name : 'lee', age:20 }
プロパティの削除
:delete演算子はオブジェクトのプロファイルを削除し、存在しないプロファイルを削除するとエラーなく無視されます.
var person = {
name : 'lee'
};
person.age=20;
delete person.age;
delete person.address;
console.log(person); // {name : 'lee'}
//객체에 address프로퍼티가 존재하지 않기 때문에 에러발생없이 그냥 무시되었다.
ES 6に追加されたオブジェクト文字の拡張
Propertyサムネイル表示
:変数をproperty値として使用する場合、変数名がpropertyキーと同じ名前の場合はpropertyキーを省略できます.
この場合、propertyキーは自動的に変数名として生成されます.
let x = 1, y = 2;
const obj = {x, y};
console.log(obj); //{x:1, y:2}
計算された構成名
const prefix = 'prop';
let i = 0;
const obj = {
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i
};
console.log(obj); // {prop-1:1, prop-2:2, prop-3:3}
メソッド簡略表示
//ES5
var obj = {
name: 'lee',
sayHi: function() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi(); //Hi! lee
//ES6
const obj = {
name: 'lee',
//메서드 축약 표현
sayHi() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi(); //Hi! lee
Reference
この問題について([JS]10オブジェクトスパイラル), 我々は、より多くの情報をここで見つけました https://velog.io/@skdud4659/JS10객체-리터럴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol