오늘은 시험문제 오답노트를 작성하겠습니다.
01. 결괏값을 작성하시오.
{
if( null ){
console.log("true");
} else {
console.log("false");
}
}
02. 결괏값을 작성하시오.
{
let num = 0;
while( num <= 5 ){
num++;
console.log(num);
}
}
풀이 : 변수 num이 0부터 시작해서 while문의 조건인 num이 5이하인 경우 반복됩니다. 다음 변수 let의 값인 0이 num++에 들어가서 1이 되고 console.log에 1이 출력됩니다. 1이 다시 while문에 들어가고 num++에 의해 2로 변하고 2가 출력 됩니다. 조건 num은 5이하에 의해서 5까지 입력되고 num++에 의해서 6으로 변하고 6이 출력됩니다.
정답 : 1,2,3,4,5,6
03. 결괏값을 작성하시오.
{
const str = [100, 200, 300, 400, 500];
str.forEach(function(i){
console.log(i);
});
}
풀이 : const str은 배열을 선언하고 초기화한 것입니다. forEach() 메소드는 배열의 각 요소에 대해 인자로 전달된 함수를 실행합니다. 이 함수는 익명 함수이며, function(i){...}으로 정의되어 있습니다. forEach() 메소드는 배열의 각 요소를 함수의 인자로 전달합니다. 함수의 인자로 전달된 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);
}
}
05. 결괏값을 작성하시오.
{
const obj = {
a: 100,
b: 200
};
for(let key in obj) {
console.log(key);
console.log(obj[key]);
}
}
06. 결괏값을 작성하시오.
{
let num = 0;
while( true ){
num++;
if( num == 3 ){
continue;
}
if( num > 6 ){
break;
}
console.log(num);
}
}
풀이 : 변수 num의 초기값은 0입니다. while문 안의 num++에서 num값이 1로 변하고 if문의 num이 3인 경우 continue 즉 3 을 제외하고 계속 된다는 뜻입니다. 다음 if문에서는 num이 6을 초과하는 경우 break가 실행되므로 while문은 6에서 끝이납니다. 따라서 1,2,4,5,6이 출력 됩니다.
정답 : 1,2,4,5,6
07. 결괏값을 작성하시오.
{
for(let i=1; i<=5; i++){
console.log(i);
if(i == 3){
break;
}
}
}
08. 결괏값을 작성하시오.
{
let num = 0;
while (num < 20){
num++;
console.log(num);
if(num == 1){
break;
}
}
}
풀이 : 변수 num을 초깃값 0으로 선언 후 while문 안에 들어가게 되면 num++에 의해 변수 num은 1이 됩니다. 다음 console.log 에서 1이 출력되고 if문에 의해서 num1이 1인 경우 while 반복문이 멈추게 됩니다.
정답 : 1
09. 결괏값을 작성하시오.
{
let num = 100;
switch(num){
case 100 :
console.log("100");
break;
case 200 :
console.log("200");
break;
default :
console.log("300");
}
}
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);
}
풀이 : direct라는 변수를 선언하고 초기값 1을 할당하였습니다. else {...}는 if(num) 블록 안에 있는 코드가 실행되지 않은 경우를 처리합니다. 이 경우는 num이 값이 없거나 1인 경우입니다. gallery(2);은 gallery 함수를 호출하는 코드입니다. 이 때, num에 2를 전달하므로 if(num == 2) direct++; 블록이 실행됩니다. console.log(direct);은 direct 변수의 값을 출력하는 코드입니다. 이 때, direct 변수의 값은 2입니다.
정답 : 2
12. 결괏값을 작성하시오.
{
let sum = 0;
for(var i=1; i<=100; i++) {
sum += i;
};
console.log(sum);
}
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
}
풀이 : document.write(name1);, document.write(name2);, document.write(name3);은 name1, name2, name3 변수를 출력하는 코드입니다. 따라서 빈칸에는 각 name1, name2, name3가 들어가야 됩니다.
정답 : 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
}
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);
}
16. 다음의 결괏값을 작성하시오!
{
const char = ["J","A","V","A","S","C","R","I","P","T"];
for(let i=9; i>=0; i--){
console.log(char[i]);
}
}
풀이 : for(let i=9; i>=0; i--)는 i 변수를 초기값 9로 설정하고, i가 0 이상인 동안 반복하며 i를 1씩 감소시키는 코드입니다.
변수가 9부터 0까지 1씩 감소하면서, char 배열의 마지막 요소부터 첫 번째 요소까지 역순으로 출력됩니다.
정답 : TRIRCSAVAJ
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);
}
18. 다음의 결괏값을 작성하시오!
{
let i = 1;
while(i > 5){
console.log(i);
i++;
}
console.log(i);
}
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)
}
20. 다음의 결괏값을 작성하시오!
{
let a, b, result;
a = 7, b = 4
result = a & b;
console.log(result)
}