자바스크립트: 객체
4704 단어 beginnersjavascript
{}
.[]
는 배열을 만드는 데 사용됩니다.변수에는 하나의 값이 있고 중괄호가 없습니다.
key: value
쌍으로 저장합니다. 각 키:값 쌍은 ,
로 구분됩니다(CSS와 달리 속성은 ;
로 구분됨). object.propertyname
; object['propertyname']
함수에서 사용할 수 있습니다.let doggy = {
color: 'dark orange',
breed: 'golden retriever'
};
function getProp(objectName, propertyName){
return objectName[propertyName];
}
getProp(doggy, 'breed'); //output: "golden retriever"
const
에 의해 선언된 경우 재할당할 수 없지만 여전히 변경할 수 있습니다. method
: 개체에 저장된 데이터가 함수인 경우. 개체는 둘 이상의 메서드를 가질 수 있습니다. for...in
루프는 객체를 반복할 수 있습니다.let lifeInHouse = {
lives: {
doggy: {
color: 'dark orange',
breed: 'golden retriever'
},
plant: {
color: 'green',
breed: 'N/A'
}
}
}
for(let life in lifeInHouse.lives){
console.log(`${life}'s color is: ${lifeInHouse.lives[life].color}`);
} //output: doggy's color is: dark orange
plant's color is: green
for ... of
배열을 반복합니다. 예를 들어:
let classmate ={
name: 'Adam',
gender: 'F'
}
let changeGender = obj =>{
obj.gender = 'M'
}
changeGender(classmate);
console.log(classmate); //output: { name: 'Adam', gender: 'M' }
let classmate ={
name: 'Adam',
gender: 'F'
}
let reassign = obj =>{
obj = {
name: 'Adam',
gender: 'M'};
console.log(obj); //output: { name: 'Adam', gender: 'M' }
}
reassign(classmate);
console.log(classmate); //output: { name: 'Adam', gender: 'F' }. The reassignment didn't work.
재할당 함수가 호출되면 변수 obj가 classmate 객체 위치의 참조가 되도록 변경됩니다. 따라서 obj는 classmate 객체의 값을 가집니다. 그러나 classmate 변수는 변경되지 않습니다. 즉, 함수에서 재할당을 사용하지 마십시오.
this
키워드는 호출 개체를 참조합니다. 다른 호출 개체의 속성에 대한 속성 액세스를 제공할 수 있습니다. 피하십시오: 이 키워드를 사용할 때 화살표 기능을 사용하지 마십시오. Additional resources: Differences between arrow functions and traditional functionsget functionName(){}
는 조건을 사용하여 다른 값을 반환할 수 있습니다. getter 결과를 화면에 기록하려면 console.log(objectName.functionName)
를 사용하십시오. (괄호 필요 없음)const robot = {
_model: '1E78V2',
_energyLevel: 100,
get energyLevel() {
if (typeof this._energyLevel === 'number'){
return `My current energy level is ${this._energyLevel}`;
} else {
return 'System malfunction: cannot retrieve energy level';
}
}
};
console.log(robot.energyLevel);
set functionName(parameter){}
는 값을 재할당할 수 있습니다.set newAge(num){
if(typeof num === 'number' && num >=0){
this.age = num;
} else {
console.log('Please type in a number greater or equal to zero');
}
};
objectName.newAge = 100;
console.log(object.age); //output: 100
const foodFactory = (date, type)=>{
return{
date,
type
}
};
const brioche = foodFactory('July28','bread');
console.log(brioche); //output: { date: 'July28', type: 'bread' }
{}
로 래핑한 다음 개체에 할당할 수 있습니다. Object.keys(objectName)
는 객체의 키 이름을 반환할 수 있습니다. Object.entries(objectName)
키 이름과 값이 포함된 배열을 반환할 수 있습니다.for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
const newObject = Object.assign(targetObject, source)
는 변경 사항이 포함된 새 변수를 생성하고 대상 개체도 변경됩니다. const newObject = Object.assign(source, targetObject)
는 대상 개체가 변경되지 않은 상태에서 변경된 새 변수를 생성합니다. Reference
이 문제에 관하여(자바스크립트: 객체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rosiequ/javascript-objects-3lop텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)