한번씩 읽고 가세요.
“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
오답노트
01. 결괏값을 작성하시오.
{
(function(){
console.log("함수가 실행되었습니다.");
})();
}
정답: 함수가 실행 되었습니다.
02. 결괏값을 작성하시오.
{
function func(str = "함수가 실행되었습니다."){
document.write(str);
}
func();
}
정답: 함수가 실행 되었습니다.
03. 결괏값을 작성하시오.
{
let sum = 0;
for(var i=1; i<=10; i+=2) {
sum += i;
};
document.write(sum);
}
정답: 25
04. 다음의 결괏값을 보고 빈칸을 작성하시오.
{
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
05. 다음의 결괏값을 보고 빈칸을 작성하시오.
{
const objA = {
a: 100,
b: 200
}
const objB = {
c: "javascript",
d: "jquery"
}
const spread = {______, ______}
document.write(spread.a);
document.write(spread.b);
document.write(spread.c);
document.write(spread.d);
//100
//200
//javascript
//jquery
}
정답: ...objA,...objB
06. 다음의 결괏값이 나오도록 보기에서 빈칸에 해당되는 것을 모두 고르시오
{
if( _____ ){
document.write("조건문이 실행되었습니다.(true)");
} else {
document.write("조건문이 실행되었습니다.(false)");
}
//document.write("조건문이 실행되었습니다.(false)");
//보기
//true, false, 1, "1", "", 0, null, undefined, [], {}
}
정답: false, 0,null, undefined, ""
해설: false, 0,null, undefined, ""을 제외한 나머지느 true가 나오기 때문에 false가 나오려면 false, 0,null, undefined, "" 를 넣어야한다.
07. 다음의 if문은 삼항 연산자로 변경하시오.
{
if( num == 100 ){
document.write("true");
} else {
document.write("false");
}
}
정답: (num ==100) ? document("true") :\document("false") :
08. 다음의 결괏값을 작성하시오!
{
for(var i=1; i<=1; i++){
document.write(i);
for(var j=1; j<=5; j++){
document.write(j);
}
}
}
09. 다음의 결괏값을 보고 빈칸을 작성하시오!
{
const num = [100, 200, 300, 400, 500];
for(let i=0; i<num.length; i++){
document.write(_______);
}
//100 200 300 400 500
}
정답: num[i]
10. 다음의 결괏값을 보고 빈칸을 작성하시오!
{
const num = [100, 200, 300, 400, 500];
num.forEach(function(el){
document.write(________);
});
//100 200 300 400 500
}
정답: el
11. 다음을 보고 리턴값을 생략하여 한줄로 표현하시오!
{
const func = str => {
return str;
}
}
정답: const func = str => str
12. 다음의 결괏값을 보고 빈 칸을 채우시오.
{
const num = [100, 200, 300, 400, 500];
for(let index of _____ ){
document.write(index);
}
//결과값
//100 200 300 400 500
}
정답: num
13. 다음의 결괏값을 보고 빈 칸을 채우시오.
{
function func(){
let i = 5, j = 4, k = 1, l, m;
l = i > 5 || j != 0;
m = j <= 4 && k < 1;
document.write(l);
document.write(m);
}
func();
}
정답:true, false
해설: l = i > 5은 조건에 맞지 않고 또는 !는 아니라는 뜻으로 j는 0이 아니므로 l은 true가 나온다.
m은 j <= 4는 맞지만 & 가 그리고 라는 의미를 가지고 있어 k<1 도 조건에 맞아야하지만 틀려서 m은 false가 나온다.
14. 다음의 결괏값을 작성하시오.
{
const arr = [100, 200, 300, 400, 500];
const text = arr.push(600);
document.write(arr);
const arr2 = [100, 200, 300, 400, 500];
const text2 = arr2.unshift(600);
document.write(arr2);
}
정답: 100,200,300,400,500,600
600,100,200,300,400,500,600
15. 다음의 결괏값을 작성하시오.
{
const obj = {
a: 100,
b: 200
};
for(let key in obj) {
console.log(key);
}
}
정답: ab
16. 다음의 결괏값을 작성하시오.
{
let num = 0;
while(false){
num++;
if( num == 3 ){
continue;
}
if( num > 6 ){
break;
}
}
console.log(num);
}
정답: 0
해설: while(false)이기 때문에 실행이 되지않아 정답은 0
17. 다음의 결괏값을 작성하시오.
{
let a, b, result;
a = 7, b = 4
result = a & b;
console.log(result, a, b)
}
정답: 4,7,4
18. 다음의 결괏값을 작성하시오.
{
let a = 1, b = 2, c = 3, result;
result = ++a + b++ + ++c;
console.log(result);
console.log(a);
console.log(b+c);
console.log(c);
}
정답: 8,2,7,4
해설: result 는 ++a=2 b++=2 ++c=4 여서 8이 나오고 ++a= 2 b++=3 ++c=4 가 나오기 때문에 2 7 4가 정답이다
19. 다음의 결괏값을 작성하시오.
{
let data = [70, 80, 75, 60, 90];
let best = 0;
let score = 0;
for(let i=0; i<data.length; i++){
if(data[i]>80) {
best++;
}
if(score < data[i]) {
score = data[i];
}
}
console.log(best, score)
}
정답: 1,90
해설: if(data[i]>80) 에 맞는 배열은 90 하나 여서 best는 1이 나온다. if(score < data[i]) {score = data[i];} 는 score는 0이라 모든 배열이 조건에 맞아 가장 큰 값 90이 나온다.
20. 다음의 결괏값을 작성하시오.
{
function func(num1, num2){
if(num1 > num2) return num1
else return num2
}
console.log(func(10, 23) + func(40, 50))
}
정답: 73
해설: if(num1 > num2) return num1 else return num2} 10 23를 넣었을때 10은 23 보다 크지않아 num2가 나와 23이고
40 50 을 넣어도 40은 50 보다 크지않아 num2인 50 나와 23 +50인 73 이 정답이다.