[DeepDave]007オブジェクト範囲の
11691 ワード
1.対象とは?
JAvascriptはオブジェクトベースのプログラミング言語で、javascriptを構成するほとんどの「すべて」がオブジェクトです.元の値以外の値(関数、配列、正規表現など)はオブジェクトです.
元のタイプ値(元の値):可変値(可変値)
オブジェクトタイプの値(オブジェクト):可変値(関数、配列、正規表現などの元の値は含まれません)
オブジェクト:Propertyで構成されています.Propertyはキーと値で構成されています.
(Property値が関数である場合は、一般関数を区別する方法と呼ぶ)
2.オブジェクトテキストからオブジェクトを作成する
c、Java言語:クラスベースのオブジェクト向け言語
JavaScript:プロトコルベースのオブジェクト向け言語
区別:クラスベースのオブジェクト向け言語とは異なり、複数のオブジェクト作成方法をサポート
かっこの後ろのセミコロン(;)貼り付け
3.割引
≪オブジェクト|Objects|ldap≫:キーと値からなるプロパティのセット.
var person = {
// 프로퍼티 키는 name, 프로퍼티 값은 'Lee'
name: 'Lee',
// 프로퍼티 키는 age, 프로퍼티 값은 20
age: 20
};
**에러 상황
var person = {
firstName: 'Ung-mo',
last-name: 'Lee' // SyntaxError: Unexpected token -
}; //last-name을 -연산자가 있는 표현식으로 해석
**따옴표 사용
var person = {
firstName: 'Ung-mo', // 식별자 네이밍 규칙을 준수하는 프로퍼티 키
'last-name': 'Lee' // 식별자 네이밍 규칙을 준수하지 않는 프로퍼티 키
};
console.log(person); // {firstName: 'Ung-mo', last-name: 'Lee'}
상황: 빈 객체에 {hello: "world"}를 만들고 싶다면?!
var obj = {}; // 1. 객체 생성
var key = 'hello'; // 2. 키 네이밍
obj[key] = 'world'; // 3. 키에 값 부여
console.log(obj); //{hello:"world"}
1.객체 생성 var object = {};
2.키 네이밍 var key = '키네임';
3.값 부여 var obj[key] = 'value';
object = {키네임 : "value"};
var foo = {
name : "Lee",
name : "Kim"
};
console.log(foo); // {name: "Kim"}
4.方法
5.Propertyアクセス
エンジンは、隠されていない名前を識別子として解釈します.
//name is not definedエラー
2가지 에러
1- 대괄호 표기법에서 따옴표로 감싸지 않았을 경우
엔진은 이를 식별자로 해석하고 레퍼런스에러를 발생함
(단!! 숫자는 따옴표 생략 가능)
var person = {
name: 'Lee'
};
console.log(person[name]);
//ReferenceError: name is not defined
2- 객체에 존재하지 않는 프로퍼티에 접근하는 경우
var person = {
name: 'Lee'
};
console.log(person.age); //undefined
角カッコプロパティアクセス演算子の内部に指定するプロパティキーは、引用符で囲まれた文字列でなければなりません.JavaScriptエンジンは、角カッコPropertyアクセス演算子で、引用符で囲まれていない名前をPropertyキーとして使用する場合、識別子として解釈します.
アクセスオブジェクトに存在しないプログラムがある場合はundefinedを返します. ReferenceErrorはこの時点で発生しないことに注意してください.
Propertyキーが識別子命名規則を守らない場合、JavaScriptで有効な名前ではない場合は、カッコタグを使用する必要があります.ただし、propertyキーが数値からなる文字列の場合は、引用符を省略できます.他の場合、括弧内のPropertyキーは引用符で囲まれた文字列であることを忘れないでください.
6.Property値の更新:既存のPropertyに値を割り当てる
var person = {
name: 'Lee'
};
// person 객체에 name 프로퍼티가 존재하므로 name 프로퍼티의 값이 갱신된다.
person.name = 'Kim';
console.log(person); // {name: "Kim"}
7.断面梁の動的作成:存在しない断面梁に値を割り当てる
var person ={
name: 'Lee'
};
// person 객체에는 age 프로퍼티가 존재하지 않는다.
// 따라서 person 객체에 age 프로퍼티가 동적으로 생성되고 값이 할당된다.
person.age = 20;
console.log(person); // {name: "Lee", age: 20}
8.プロパティの削除
var person = {
name: "Lee",
age: "20"
};
delete person.age; // person {name : "Lee"}
delete person.address; // 존재하지 않는 프로퍼티를 삭제해도 에러가 발생하지 않음
9.職業倦怠を表す
Reference
この問題について([DeepDave]007オブジェクト範囲の), 我々は、より多くの情報をここで見つけました https://velog.io/@ongddree/딥다이브-007.-객체-리터럴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol