Web Front-end/JavaScript

[JS/Basic/연습문제] 자바스크립트 객체 연습문제

https://ko.javascript.info/object

 

객체

 

ko.javascript.info

아래의 문제는 JavScript 객체편에 있는 문제를 스스로 풀어본 것 입니다. 문제는 위 링크를 참조해주세요 :)

 

객체가 비어있는지 확인하는 방법 

  • 객체가 비어있다면, key 값이 아무것도 없을겁니다. 즉 , 순회를 했을 때, undefined가 반환된다면 비어있는거죠!
  • 반대로 이야기하면 순회를 했을 때, 어떠한 값이 있다면 비어있지 않다는 뜻입니다. 순회가 시작되면 바로 return false를 해준다면 더 효율적 일 것 같습니다!
const schedule = {}

function isEmpty(schedule){
	for (let key in shedule){
    	return false;
    }
	return true;
}

alert(isEmpty(schedule)); 

schedule["8:30"] ="get up";

alert(isEmpty(schedule));

변하지않는 객체

  • 아래의 코드는 실행이 될까요 ?
const user={
	name:"John",
}
user.name= "Pete"

실행이 됩니다. 왜냐하면, const는 상수이긴 하지만, const 내부의 값은 수정이 가능하기 때문이죠! 기억합시다. Const는 할당된 "변수"가 변경되는걸 막는거지, 내부의 값들의 변경은 막지않습니다.

 

프로퍼티 합계 구하기

  • 객체의 순회를 물어보는 문제입니다.
let salaries ={
	John:100,
    Ann:150,
    Pete:130,
}


function calculateTotal(){
	let sum=0
	for (let key in salaries){
		sum += salaries[key];
	}
	return sum;
}

alert(calculateTotal())