01. 결괏값을 작성하시오.
{
if( null ){
console.log("true");
} else {
console.log("false");
}
}
정답
false
오답노트
if문의 true 값과 false값
false : 0, null, undefined, false, ""(빈문자열)
true : 1,2,3,"0", "1", "ABC", [배열], {객체}, true
안에 null값이 들어갔으므로 답은 false
02. 결괏값을 작성하시오.
{
let num = 0;
while( num <= 5 ){
num++;
console.log(num);
}
}
정답
1,2,3,4,5,6
오답노트
num을 초기값 0으로 설정합니다.
num++로 인해 첫번째 반복부터 num값이 1씩 증가하여 1부터 출력됩니다.
6번째 반복에서 num값이 6이 되어 조건문 num<=5에 만족하지 않으므로 루프를 종료합니다.
6에서 종료되었으므로 결과값은 1부터 6까지 나옵니다.
03. 결괏값을 작성하시오.
{
const str = [100, 200, 300, 400, 500];
str.forEach(function(i){
console.log(i);
});
}
정답
100
200
300
400
500
04. 결괏값을 작성하시오.
{
const str = [100, 200, 300, 400, 500];
for(let i of str){
console.log(i);
}
}
정답
100
200
300
400
500
05. 결괏값을 작성하시오.
{
const obj = {
a: 100,
b: 200
};
for(let key in obj) {
console.log(key);
console.log(obj[key]);
}
}
정답
a 100
b 200
오답노트
for in루프는 obj 객체의 속성을 반복합니다.
key 변수에 현재의 속성 이름 a와 b가 할당됩니다.
key 변수에 할당된 이름을 출력한 후 obj[key]를 이용해 해당 속성의 값이 출력됩니다.
obj 속성의 이름과 값이 번갈아 출력되므로 답은 a 100 b 200이 됩니다.
06. 결괏값을 작성하시오.
{
let num = 0;
while( true ){
num++;
if( num == 3 ){
continue;
}
if( num > 6 ){
break;
}
console.log(num);
}
}
정답
1 2 4 5 6
오답노트
while(true)는 항상 참인 조건이므로 무한히 루프되는데
if문에서 num 값이 3일때는 counitnue문이 실행하여 루프의 시작점으로 돌아가 다음순회를 시작합니다.
그래서 3은 출력 되지 않습니다.
그 다음 if문에서 6을 초과할때는 break문을 실행하여 루프를 종료하므로 7이 출력되지 않습니다.
그래서 답은 1 2 4 5 6 이 나옵니다.
07. 결괏값을 작성하시오.
{
for(let i=1; i<=5; i++){
console.log(i);
if(i == 3){
break;
}
}
}
정답
1 2 3
오답노트
1부터 5까지 출력하는데 만약 i 값이 3일때 break문을 실행하여 루프를 종료합니다.
그래서 답은 1 2 3입니다.
08. 결괏값을 작성하시오.
{
let num = 0;
while (num < 20){
num++;
console.log(num);
if(num == 1){
break;
}
}
}
정답
1
오답노트
변수 num을 0으로 초기화 하고 while문으로 루프를 20보다 작은 경우 계속 실행됩니다.
num은 반복 될 때마다 1씩 증가되고, num이 1일 때 루프가 멈추도록 break문이 실행되어,
값은 1입니다.
09. 결괏값을 작성하시오.
{
let num = 100;
switch(num){
case 100 :
console.log("100");
break;
case 200 :
console.log("200");
break;
default :
console.log("300");
}
}
정답
100
오답노트
num 을 100으로 초기화 하고 switch문을 사용하여 num값에 따라 다른 동작을 수행합니다.
num이 100일때 case문이 실행되어 100이 출력되고 break문으로 다음 case문이 실행되지 않습니다.
num이 200일때 case문이 실행되어 200이 출력되고 break문으로 다음 case문이 실행되지 않습니다.
num이 100도,200도 아닐때 default 문이 실행되어 300이 출력됩니다.
num은 100으로 설정되었으므로 답은 100입니다.
10. 결괏값을 작성하시오.
{
func = () => {
const str = "함수가 실행되었습니다.";
return str;
}
console.log(func());
}
정답
함수가 실행되었습니다.
11. 결괏값을 작성하시오.
{
let direct = 1;
function gallery(num){
if(num){
if(num == 2) direct++;
} else {
if(num == 1) direct--;
}
}
gallery(2);
console.log(direct);
}
정답
2
오답노트
direct를 1로 초기화 하고 gallery라는 함수를 정의합니다.
gallery 함수는 num이 2면 direct를 1 증가시키고 num이 1이면 direct를 1 감소시킵니다.
그러나 num이 전달되지 않아 if문에서 항상 false가 반환됩니다.
그 다음, gallery(2)를 호출하여 num이 2일 때 direct를 1증가 시킵니다.
그래서 출력된 direct의 값은 2가 나옵니다.
12. 결괏값을 작성하시오.
{
let sum = 0;
for(var i=1; i<=100; i++) {
sum += i;
};
console.log(sum);
}
정답
5050
13. 다음의 결괏값을 보고 빈칸을 작성하시오!
{
const obj = {
a: 100,
b: 200,
c: "javascript"
}
const { a:_____, b:_____, c:_____ } = obj;
document.write(name1);
document.write(name2);
document.write(name3);
//100
//200
//javascript
}
정답
name1 name2 name3
14. 다음의 결괏값을 보고 빈칸을 작성하시오!
{
const obj = {
a: 100,
b: 200,
c: "javascript"
}
const { a, b, c } = _______;
document.write(a);
document.write(b);
document.write(c);
//100
//200
//javascript
}
정답
obj
오답노트
객체를 지정해주어야 하므로 obj가 답입니다.
15. 다음의 결괏값을 작성하시오!
{
const objA = {
a: 100,
b: 200
}
const objB = {
c: "javascript",
d: "jquery"
}
const spread = {...objA, ...objB}
document.write(spread.a);
document.write(spread.b);
document.write(spread.c);
document.write(spread.d);
}
정답
100
200
javascript
jquery
16. 다음의 결괏값을 작성하시오!
{
const char = ["J","A","V","A","S","C","R","I","P","T"];
for(let i=9; i>=0; i--){
console.log(char[i]);
}
}
정답
T,P,I,R,C,S,A,V,A,J
오답노트
i가 9로 시작하여 0보다 클 때까지 반복합니다.
i-- i를 1씩 감소하면서 char[i]를 출력하므로 역순으로 출력됩니다.
17. 다음의 결괏값을 작성하시오!
{
let a = 1, b = 2, c = 3, result;
result = ++a + b++ + ++c;
console.log(result);
console.log(a);
console.log(b);
console.log(c);
}
정답
8
2
3
4
오답노트
++a는 a를 1 증가시킨 후 a값을 반환합니다.
b++ 는 b를 1 반환시킨 후 b값을 1증가시킵니다.
++c c를 1 증가시킨 후 c값을 반환합니다.
그래서 result값은 2+2+4가 대입되어 8이 됩니다.
a는 1증가 되어 2가됩니다.
b는 후위 연산자이므로 2를 반환하고 b가 3으로 증가합니다.
c는 1증가되어 4가 됩니다.
18. 다음의 결괏값을 작성하시오!
{
let i = 1;
while(i > 5){
console.log(i);
i++;
}
console.log(i);
}
정답
1 2 3 4
19. 다음의 결괏값을 작성하시오!
{
let num = [32, 93, 15, 86, 50];
let sum = 0;
for(let i=0; i > num.length; i++){
sum = sum * i;
}
console.log(sum)
}
정답
0
20. 다음의 결괏값을 작성하시오!
{
let a, b, result;
a = 7, b = 4
result = a & b;
console.log(result)
}
정답
4