본문 바로가기
코딩테스트/리디야 할리 JS Quiz

JS Quiz 21-24. eval() / ?? / var / 프로퍼티 네임 - has()

by 학습하는 청년 2024. 4. 6.

21. What's the value of sum?

const sum = eval('10*10+5');

정답 A // eval() 함수에 대해 아는지에 대한 문제

 

eval()은 직접 배운 적은 없지만, 유튜브 알고리즘이 나와서 보게 됐는데(마침 어제!) 쓰짐 ㅏㄹ라고 했던 함수였다. 표현식이 숫자형으로 바뀌어서 계산된다.

 

https://youtube.com/shorts/mgdCHjJjR4M?si=-0s8Iyp9eqa2ty5O


22. How long is cool_secret accessible?

sessionStorage.setItem('cool_secret', 123);

정답 B // 아직 모르겠다. 추후 공부후 업데이트 할 것이다.


23. What's the output?

var num = 8;
var num = 10;

console.log(num);

정답 B // var의 특성에 대한 문제

 

var는 중복 선언이 되므로 10이 출력된다.

 


24. What's the output?

const obj = { 1: 'a', 2: 'b', 3: 'c' };
const set = new Set([1, 2, 3, 4, 5]);

obj.hasOwnProperty('1');
obj.hasOwnProperty(1);
set.has('1');
set.has(1);

정답 C // 프로퍼티에 대한 문제

 

obj의 프로퍼티 네임은 따옴표를 감싸서 작성하거나 그냥 작성해도 동일하게 인식된다. 따옴표를 사용하는 이유는 문자 사이에 공백이 있을 때를 위한 표기방법이다.

 

set.has()는 해당 프로퍼티를 갖고 있는지 확인한다. 그러나 Set 생성자 객체에는 숫자형 1은 있지만 문자열 '1'은 요소로 갖고 있지 않다.

댓글