script:オブジェクト属性アクセス方法-Dot Notation/Bracket Notation
7840 ワード
1.対象とは?
JavaScriptでは、オブジェクトは属性とタイプを持つ独立したオブジェクトです.
人間という個体が名前、年齢、身長、職業などの属性を持っているように、客体にも特徴を決定する属性がある.
オブジェクトの形式は次のとおりです.カッコ{}に属性名(キー):属性値(値):
let obj = {
name : "홍길동",
age : 20,
height : 170cm,
job : "정의로운 도적"
}
オブジェクトの属性は,オブジェクトに付着した変数ともいえる.これはlet、constで宣言した変数とあまり変わりませんが、オブジェクトに属します.
では、これらのオブジェクトのプロパティにアクセスする2つの方法を見てみましょう.
2.ポイントアクセス(Dot Notation)
객체명.속성명(=key값)
簡単なポイントで属性にアクセスできるため、よく使われます.Dot Notationでオブジェクトのプロパティにアクセスし、値を割り当ててみます.
const myMacBook = new Object(); // object를 생성하는 또다른 방식이다.
myMacBook.model = "맥북 에어 M1";
myMacBook.color = "space gray";
myMacBook.RAM = "8GB";
myMacBook.SSD = "256GB";
console.log(myMacBook) // [object Object] { color: "space gray", model: "맥북 에어 M1", RAM: "8GB", SSD: "256GB"}
コンソールに撮影した結果から,オブジェクトの特徴は一定の順序がないことである.これも配列との大きな違いです.
配列はindexで要素にアクセスしますが、オブジェクトは無秩序なので、異なる方法が使用されます.
DotNotationで属性値を出力しましょう.
console.log(myMacBooc.color) // "space gray"
console.log(myMacBooc.SSD) // "256GB"
3.Bracket Notation(角括弧の方法)
객체명["속성명"]
角カッコに属性を入力してアクセスする方法は、点ではなく属性を「」に変更するだけで同じ結果が得られます.確かに占いより面倒なのに、なぜこの方法は単独で存在するのでしょうか.
大きく分けて2つの理由があります.
3-1)ドットマーキング法を用いる場合,属性名は一般変数のように表現される.
何の話だ...と思いましたが、そう表現するしかありませんでした.
変数名を設定するときに固定された記号があります.
1. 数字は最初の字では使えない.
2. 書き換えることはできません.camelcaseの形式で名前を付けます.
3. 特殊文字は使用できません.(ただし$とは含まれません)
すなわち,ポイントマーキング法を用いて属性にアクセスしたり,属性を生成したりする場合は,この規則に違反することはできないが,ビートアクセス法を用いることができる.
myMacBook.16gbRam = "good"; // error 발생 "SyntaxError: Invalid or unexpected" token
myMacBook["16gbRam"] = "good"; // [object Object] {16gbRam: "good"}
-
myMacBook.After 10years = "none"; // error 발생 "SyntaxError: Invalid or unexpected" token
myMacBook["After 10years"] = "none"; // [object Object] {After 10years: "none"}
3−2)属性のみを新しい変数に割り当てることは可能である.
コードの例を直接見てみましょう.
let graycolor = "color"
console.log(myMacBook.graycolor) // undefined
console.log(myMacBook[graycolor]) // "space gray"
ポイント・アクセス・メソッドでは、変数graycolorは新しいオブジェクト・プロパティとして検索しようとしますが、見つかりません.undefinedを返します.これとは異なり、トークン・アクセス・メソッドでは、二重引用符「」を使用するかどうかによって、属性または変数にアクセスするかどうかを区別できます.
したがって、Bracket Notationを使用する場合は、二重引用符を使用するかどうかに注意する必要があります.
* 단, 다음과 같이 객체.속성 형식으로 변수에 할당하고 해당 변수를 콘솔로 불러오는 것은 가능하다.
let graycolor = myMacBook.color
console.log(graycolor) // "space-gray"
4.終了
これは整理と同時に、私も混同した2つのアプローチです.使用に慣れるように、何度も練習することをお勧めします.
そしてこれは私個人の意見です.
変数名タグに基づいて属性名自体を作成します.
変数割当てもオブジェクト名です.アトリビュート名で使用すると、ポイントアクセス法が役に立つかもしれません.
Reference
この問題について(script:オブジェクト属性アクセス方法-Dot Notation/Bracket Notation), 我々は、より多くの情報をここで見つけました https://velog.io/@songyi7091/객체-속성-접근법-Dot-Bracket-notationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol