“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”
자바스크립트 테스트
오늘 본 자바스크립트 테스트 문제와 정답을 정리하고 틀린 문제는 풀이를 해보자
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);
}
😎결과 확인하기
오답
i가 1에서 10까지 2씩 증가해서 1,3,5,7,9가 나온다. 이걸 다 더하면 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
}
😎결과 확인하기
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
}
😎결과 확인하기
06. 다음의 결괏값이 나오도록 보기에서 빈칸에 해당되는 것을 모두 고르시오.
{
if( _____ ){
document.write("조건문이 실행되었습니다.(true)");
} else {
document.write("조건문이 실행되었습니다.(false)");
}
//document.write("조건문이 실행되었습니다.(false)");
//보기
//true, false, 1, "1", "", 0, null, undefined, [], {}
}
😎결과 확인하기
07. 다음의 if문은 삼항 연산자로 변경하시오.
{
if( num == 100 ){
document.write("true");
} else {
document.write("false");
}
}
😎결과 확인하기
오답
삼항 연산자(조건 연산자)의 공식
(조건) ? true일 때 실행할 명령 : 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
}
😎결과 확인하기
오답
결과값이 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
}
😎결과 확인하기
11. 다음을 보고 리턴값을 생략하여 한줄로 표현하시오!
{
const func = str => {
return str;
}
}
😎결과 확인하기
12. 다음의 결괏값을 보고 빈 칸을 채우시오.
{
const num = [100, 200, 300, 400, 500];
for(let index of _____ ){
document.write(index);
}
//결과값
//100 200 300 400 500
}
😎결과 확인하기
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();
}
😎결과 확인하기
오답
l = i > 5 || j ! = 0; 은 논리 OR 연산자를 사용하여 i가 5보다 크거나 j가 0이 아닌 경우 true를 반환하고 그렇지 않은 경우에는 false를 반환한다. i>5 는 false이지만 j ! = 0 이 true가 되므로 결과값은 true가 된다.
m= j <= 4 && k < 1; 은 AND 연산자를 사용하여 j가 4보다 작거나 또는 k가 1보다 작은 경우 true를 반환하고 그렇지 않은 경우 false를 반환한다. j<=4는 true이고 k<1은 false이기 때문에 값은 false가 된다.
논리 OR(||)연산자
주어진 두 개의 피연산자 중 하나라도 true이면 결과가 true가 되는 이항 연산자. 만약 두 개의 피연산자 모두 false이면 결과는 false가 된다.
논리 AND(&&)연산자
주어진 두 개의 피연산자 모두 true이면 결과가 true가 되는 이항 연산자. 만약 두 개의 피연산자 중 하나라도 false이면 결과는 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);
}
😎결과 확인하기
600, 100, 200, 300, 400, 500
오답
push() : 배열의 끝에 하나 이상의 요소를 추가한다.
unshift() : 맨 앞에 하나 이상의 요소를 추가한다.
15. 다음의 결괏값을 작성하시오.
{
const obj = {
a: 100,
b: 200
};
for(let key in obj) {
console.log(key);
}
}
😎결과 확인하기
16. 다음의 결괏값을 작성하시오.
{
let num = 0;
while(false){
num++;
if( num == 3 ){
continue;
}
if( num > 6 ){
break;
}
}
console.log(num);
}
😎결과 확인하기
오답
while 조건식에 false가 지정되어 있어서 num의 초기값인 0이 유지된다. 그래서 console.log num을 입력하면 값은 0이 나온다.
17. 다음의 결괏값을 작성하시오.
{
let a, b, result;
a = 7, b = 4
result = a & b;
console.log(result, a, b)
}
😎결과 확인하기
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);
}
😎결과 확인하기
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. 선언한 변수 best 와 score를 각각 0으로 초기화한다.
2. 현재 요소의 값이 80보다 큰 경우 best 변수의 값을 1 증가시킨다.
3. 현재 요소의 값이 score 변수보다 큰 경우 score 변수에 현재 요소의 값을 대입한다.
20. 다음의 결괏값을 작성하시오.
{
function func(num1, num2){
if(num1 > num2) return num1
else return num2
}
console.log(func(10, 23) + func(40, 50))
}
😎결과 확인하기
오답
num1>num2 이 true면 num1을 반환하고 false면 num2를 반환한다.
10>23은 false이기 때문에 23을 반환하고 40>50도 false이기 때문에 50을 반환한다.
그래서 23+50 은 73이다.