“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
시험 오답
학원에서 본 시험 오답노트!
확실히 시험을 봐야 내가 모르는게 뭔지 정확하게 알 수 있는 것 같다.
혼자 공부하다 보면 다 알았다고 생각하는데도
문제를 풀어보면 그게 아닌..
이번에 틀린 문제로 확실히 알았으니
다음 시험은 100점 가보자고-!
출력값 보고 빈칸 채우기
1. (x)
{
var x = 100;
var y = 200;
var z = "javascript";
console.log(__);
console.log(__);
console.log(__);
//100
//200
//300
}
정답
x
y
x+y
😥
3번째 출력값이 javascript인줄 알았는데..
300이었다.
당연하다고 생각하지 말고 문제는 하나하나 자세히 뜯어볼것!
변수 var에 각각의 a,b,c데이터값을 저장해줬으니
이제 consloe.log로 값을 불러와야 한다.
100을 불러오려면 변수 var x에 저장되어있으니 x를 적어 불러오면 되고,
마찬가지로 200은 변수 var y에 저장되어있으니 y를
그리고 300은 x값 100과 y값 200을 합친 값을 불러와야하니까
x+y가 답
2.
{
let x = 100;
let y = 200;
let z = "javascript";
x = ___;
y = ___;
z = ___;
console.log(x);
console.log(y);
console.log(z);
//300
//400
//jquery
}
정답
300
400
jquery
3.
{
let x = 100;
let y = 200;
let z = "javascript";
x ___ 300;
y ___ 400;
z ___ "jquery";
console.log(x);
console.log(y);
console.log(z);
//400
//-200
//javascriptjquery
}
정답
+=
-=
+=
4.
{
const arr = ________();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
//100
//200
//javascript
}
정답
new Array
5.
{
const arr = [___________________];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
//100
//200
//javascript
}
정답
100
200
"javascript"
6.
{
const obj = new Object();
obj[0] = 100;
obj[1] = 200;
obj[2] = "javascript";
console.log(______);
console.log(______);
console.log(______);
//100
//200
//javascript
}
정답
obj[0]
obj[1]
obj[2]
7.
{
const obj = new Object();
obj.a = 100;
obj.b = 200;
obj.c = "javascript";
_____________________
_____________________
_____________________
//100
//200
//javascript
}
정답
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
8.
{
const obj = {____________________};
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
//100
//200
//javascript
}
정답
a:100
b:200
c:"javascript"
9. (x)
{
const obj = [
{a:100, b:200},
{c:"javascript"}
];
console.log(________);
console.log(________);
console.log(________);
//100
//200
//javascript
}
정답
obj [0].a
obj [0].b
obj [1].c
😥
이것도 위와 같이
값을 불러오려면 무슨 조건을 써서 불러와야하는지!
이건 위 보다 좀 복잡할 수도 있는 문제!
근데 하나하나 뜯어보면 어렵지 않다!
배열[ ]안에 객체{ }가 있는 거라
배열값 [ ]먼저 불러온 다음 안에 객체{ }값불러오기
따라서 정답이 100인 값을 불러오려면
[ ] 배열안에 일단 첫번째 순서에 들어있으니까 [0]으로 불러오고
그 안에 객체에 있는 데이터 100이 지정된 .a를 써서 불러오면 된다.
나머지도 마찬가지!
순서만 헷갈리지 않으면 바로 맞출 수 있는 문제!
10. (x)
{
const obj = {
a: 100,
b: [200, 300],
c: "javascript"
}
console.log(________);
console.log(________);
console.log(________);
//200
//300
//200300
}
정답
obj.a
obj.b[1]
obj.b
😥
객체 안에 데이터값을 순서대로 불러오기
이건 위와 반대로 객체{ } 안에 배열[ ] 이 있는 방식으로
객체 { } 값을 먼저 부르고 배열[ ]값을 불러오면 된다.
200300의 경우
어렵게 생각하지 말고 그냥 하나로 불러온다 생각하고
consloe.log(obj.b);로 따로 배열[ ] 값 없이 불러올 수 있다.
11. (x)
{
const a = 100;
const b = 200;
const c = "javascript";
const obj = { _________ }
document.write(obj.a);
document.write(obj.b);
document.write(obj.c);
//100
//200
//javascript
}
정답
a, b, c
😥
위에서 저장된 상수(cosnt)의 데이터값을
아래의 상수(const)의 데이터값 이름을 obj로 새로 지정하여 한번에 저장시키는 방법으로
위의 상수(const)의 데이터값의 이름(a,b,c)들을 적어주면 된다.
12. (x)
{
const obj = {
a: 100,
b: [200, ____],
c: "javascript",
d: _________(){
document.write("javascript가 실행되었습니다.");
},
e: function(){
document.write( _______ + "가 실행되었습니다."); //변수값 사용
},
f: function(){
document.write( _______ + "가 실행되었습니다."); //this를 사용
}
}
document.write(obj.a);
document.write(obj.b);
document.write(obj.b[0]);
document.write(obj.b[1]);
document.write(obj.c);
obj.d();
obj.e();
obj.f();
//100
//200,300
//200
//300
//javascript
//javascript가 실행되었습니다.
//javascript가 실행되었습니다.
//javascript가 실행되었습니다.
}
정답
300
funtion
obj.c
this.c
😥
객체 안에는 함수도 쓸 수 있는데
함수로 실행값을 문자를 작성해 실행문으로 미리 지정해줬기 때문에
출력값을 따로 document.write로 안불러오고
함수가 지정된 객체 값으로만 불러와주면 된다
그리고 함수 안에서 객체값을 불러와 실행문을 완성시킬 수도 있다
변수값을 사용해 불러올수도 있고,
this를 사용해 불러올수도 있다
this는 객체 자체를 의미.
자기 자신을 표현할 때 쓴다.
13.
{
for( let i=1; i<10; i++){
if(i % 2 == 0) {
document.write(i);
}
}
}
정답
2468
14.
{
for( let i=1; i<10; i++){
if( true ) {
document.write(i);
}
}
}
정답
123456789
15.
{
const func = function(){
document.write("함수가 실행되었습니다.");
}
func();
}
정답
함수가 실행되었습니다.
16.
{
if( 1 ){
document.write("조건문이 실행되었습니다.(true)");
} else {
document.write("조건문이 실행되었습니다.(false)");
}
}
정답
조건문이 실행되었습니다.(true)
17.
{
let num = 10;
if( num == 100 ){
document.write("조건문이 실행되었습니다.(1)");
if( num == 100 ){
document.write("조건문이 실행되었습니다.(2)");
if( num == 100){
document.write("조건문이 실행되었습니다.(3)");
}
}
} else {
document.write("조건문이 실행되었습니다.(4)");
}
}
정답
조건문이 실행되었습니다.(4)
18.
{
let num = 10;
(num == 100) ? document.write("true") : document.write("false");
}
정답
false
19.
{
let num = 0;
while( num <= 5 ){
document.write( num + ". 반복문이 실행되었습니다.");
num++;
}
}
정답
0.반복문이 실행되었습니다.
1.반복문이 실행되었습니다.
2.반복문이 실행되었습니다.
3.반복문이 실행되었습니다.
4.반목문이 실행되었습니다.
5.반복문이 실행되었습니다.
20.
{
const str = [100, 200, 300, 400, 500];
str.forEach((element, index, array) =>l {
document.write(element);
document.write(index);
document.write(array);
});
}
정답
100 0 100200300400500
200 1 100200300400500
200 2 100200300400500
300 3 100200300400500
400 4 100200300400500
500 5 100200300400500