[Javascript][week 3]オブジェクトを定義し、オブジェクトを作成します.
19049 ワード
オブジェクト
let Object={
key1 : value,
key2 : value,
...
}
オブジェクトが持つ値をproperty、オブジェクトが持つ関数をメソッドと呼びます.(2人ともプロと呼ばれています)オブジェクトのプロシージャとメソッドはキー値で区切られます.
オブジェクトの作成方法は3つあります.
1.対象文字方式
var obj = {key:value, ...} : 変数を作成するように、カッコ内でカンマ(,)でキーを区切る:valueを使用してオブジェクトを作成します.
let myself={
name : 'Code Kim',
age : 30,
location : {
country : 'South Korea',
city : 'Seoul'
},
hello : function(){
return '이름은 ${this.name}이고, 나이는 ${this.age}입니다.';
}
}
console.log(myself)
ここでname,age,locationはproperty,helloはメソッドである.キー値は文字列(string)で記入する必要があります.
原則として引用符で囲みますが、識別子命名規則を守れば省略できます.
*識別子命名規則:文字/数字/アンダーコード()/ドル記号($)で構成され、数字の先頭にはなりません.(保留語は含まれません)
2.コンストラクション関数(Constructor)
new Constructor()でオブジェクトを作成する方法.
1)new Object():new演算子でオブジェクトのコンストラクション関数を呼び出します.
var mySelf=new Object();
mySelf.name='김주현';
mySelf['age']=28;
mySelf.hello = function(){
return '이름은 ${this.name}이고, 나이는 ${this.age}입니다.';
}
console.log(mySelf);
//[object Object] {
// age: 28,
// hello: function(){
// return '이름은 ${this.name}이고, 나이는 ${this.age}입니다.';
//},
// name: "김주현"
//}
2)Number、String、Arrayなどの組み込みオブジェクトを作成することもできます.//String객체 생성하기
var strObj = new String('hello world');
console.log(strObj)
//Array객체 생성하기
var arrObj = new Array([1,2,3]);
console.log(arrObj)
3)newカスタムジェネレータ():直接ジェネレータ関数を作成してオブジェクトを作成できます.//생성자 함수 만들기
var mySelf = function(name, age){
this.name = name;
this.age = age;
this.hello = function() {
return '이름은 ${this.name}이고, 나이는 ${this.age}입니다.';
}
}
//객체 생성하기
var myObj = new mySelf('김주현', 28);
console.log(myObj);
//[object Object] {
// age: 28,
// hello: function() { ... },
// name: "김주현"
//}
3. Object.create()メソッド
Object.create(プロトタイプ):プロトタイプ継承によってオブジェクトを作成する方法.
const calculate1= {
a: 2,
square : function(b){
return this.a * 2;
//this는 calculate1을 가리킴
}
};
console.log(calculate1.square());
const calcualte2 = Object.create(calculate1);
//calculate2는 프로토타입을 calculate1으로 가지는 객체이다
calculate2.a=4;
//calculate2에 'a'라는 새로운 속성을 만듬 (method overriding)
console.log(calculate2.square()); //16
//calculate1의 함수 square를 상속받으며, this.a는
//calculate2.a를 나타내고 이는 calculate2의 개인속성 'a'가 된다.
点記号とかっこ記号
1. Dot notation
ピリオド(.)ロビーに近づく.
let myself={
name : 'Code Kim',
age : 30,
location : {
country : 'South Korea',
city : 'Seoul'
}
}
console.log(myself.name);
console.log(myself.age);
console.log(myself.location);
keyは、オブジェクトのpropertyのみを許可するため、key値を他の変数で参照できません.let myself={
name : 'Code Kim',
age : 30,
location : {
country : 'South Korea',
city : 'Seoul'
}
};
let myName='juhyun';
console.log(myself.myName); //undefined
// myName은 myself에 정의된 프로퍼티가 아님
// myname.name으로만 접근 가능
2. Bracket Notation
カッコ([])の間にキー値を挿入して文字列としてアクセスします.
let myself={
name : 'Code Kim',
age : 30,
location : {
country : 'South Korea',
city : 'Seoul'
}
}
console.log(myself['name']);
console.log(myself['age']);
console.log(myself['location']);
変数が文字列として解釈される場合、ブラウザは変数を書き込むこともできます.let obj = {
cat: 'meow',
dog: 'woof',
};
let dog = 'cat';
//bracket notation은 obj안에 dog프로퍼티를 찾지 않고,
//변수dog에 cat을 대입하여 문자열값이 패스되고 cat프로퍼티를 찾는다
let sound1 = obj[dog];
console.log(sound1); // meow
//dot notation은 변수에 접근할 수 없어 dog변수의 값 대신 dog문자열의 값을 찾는다
let sound2 = obj.dog;
console.log(sound2); // woof
コメントサイト:https://codeburst.io/javascript-quickie-dot-notation-vs-bracket-notation-333641c0f781
https://curryyou.tistory.com/189
Reference
この問題について([Javascript][week 3]オブジェクトを定義し、オブジェクトを作成します.), 我々は、より多くの情報をここで見つけました https://velog.io/@kjhabc2002/Javascriptweek3-객체Objectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol