“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
자바스크립트 시험 2 오답
1.
{
if( null ){
console.log("true");
} else {
console.log("false");
}
}
정답
false
2.(X)
{
let num = 0;
while( num <= 5 ){
num++;
console.log(num);
}
}
정답
1,2,3,4,5,6
✔ 변수 num을 선언하고 0으로 초기화한 후 while문을 읽어줌
while문에서 num의 값이 5보다 작거나 같은 경우 계속 실행
num++를 사용해 현재 num의 값을 콘솔에 출력
3.(X)
{
const str = [100, 200, 300, 400, 500];
str.forEach(function(i){
console.log(i);
});
}
정답
100,200,300,400,500
✔ forEach() 메소드는 배열의 각 요소에 대해 지정된 콜백 함수를 실행
이 코드에서 'str' 배열의 각 요소에 대해 익명 함수를 실행
익명 함수는 매개변수 'i'를 가져 콘솔에 출력
4.
{
const str = [100, 200, 300, 400, 500];
for(let i of str){
console.log(i);
}
}
정답
100,200,300,400,500
5.(X)
{
const obj = {
a: 100,
b: 200
};
for(let key in obj) {
console.log(key);
console.log(obj[key]);
}
}
정답
a 100 b 200
✔ for...in 반목문은 객체의 속성을 반복하며, 객체의 각 속성 이름을 변수에 할당
'key' 변수의 객체 'obj'의 속성 이름이 할당
먼저 'key' 변수를 콘솔에 출력하고, 다음으로 'obj[key]'를 사용하여 해당 속성의 값을 콘솔에 출력
따라서 이 코드는 객체 'obj' 의 속성 이름과 값이 번갈아가며 콘솔에 출력
6.(X)
{
let num = 0;
while( true ){
num++;
if( num == 3 ){
continue;
}
if( num > 6 ){
break;
}
console.log(num);
}
}
정답
1,2,4,5,6
✔ 'num'은 무한루프
루프 내에서 'num' 변수를 1씩 증가
if 조건문을 사용하여 'num'값이 3인 경우 'continue'를 실행하여 해당 루프를 건너뜀
그리고 'num'값이 6보다 큰 경우 'brake' 를 실행하여 무한 루프를 탈출.
따라서 값이 1부터 시작
3은 건너뛰고 6까지 출력
7.(X)
{
for(let i=1; i<=5; i++){
console.log(i);
if(i == 3){
break;
}
}
}
정답
1,2,3
✔ if문을 사용하여 i값이 3인 경우 'break' 문을 실행하여 반복문을 종료
8.(X)
{
let num = 0;
while (num < 20){
num++;
console.log(num);
if(num == 1){
break;
}
}
}
정답
1
✔ num 변수를 1씩 증가시킴
if 조건문을 사용해 'num' 값이 1인 경우 'break' 문을 실행하여 반복문을 종료
하지만 'num' 변수는 루프 내에서 증가되므로 'num'값이 1보다 작을 때만 if문이 실행됩니다.
9.
{
let num = 100;
switch(num){
case 100 :
console.log("100");
break;
case 200 :
console.log("200");
break;
default :
console.log("300");
}
}
정답
100
10.
{
func = () => {
const str = "함수가 실행되었습니다.";
return str;
}
console.log(func());
}
정답
함수가 실행되었습니다.
11.(X)
{
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' 매개변수
함수 내부에서 'if-els'문을 사용하여 'num'
12.
{
let sum = 0;
for(var i=1; i<=100; i++) {
sum += i;
};
console.log(sum);
}
정답
5050 (1부터 100까지의 합)
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.(X)
{
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
✔
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, javacsript, jquery
16.(X)
{
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
✔ for문 부분에서 반복문을 사용하여 i 변수를 0부터 0까지 1씩 감소시키면서 반복하고 있다.
이 반복문은 배열 char의 요소를 역순으로 출력하는데 사용한다.
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
18.
{
let i = 1;
while(i > 5){
console.log(i);
i++;
}
console.log(i);
}
정답
2
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