문제 1. 자바스크립트의 동적 타이핑이란 무엇을 의미하는가요?
문제 2. 자바스크립트에서 var로 선언된 변수는 어떻게 작동하나요?
문제 3. 자바스크립트에서 const로 선언된 변수에 대한 설명 중 틀린 것은 무엇인가요?
문제 4. "Hello" / 2의 결과값은 무엇인가요?
문제 5. 자바스크립트에서 find() 메서드가 주어진 함수를 만족하는 배열의 첫 번째 요소를 반환하는 다음 예제를 참고하세요.
let array = [5, 12, 8, 130, 44];
let found = array.find(element => element > 10);
이 코드에서 found 변수의 값은 어떻게 될까요?
문제 6. 다음 코드의 출력 결과는 무엇일까요?
function add(x, y) {
return x + y;
}
console.log(add(2, 3));
문제 7. 주어진 배열의 모든 요소를 제곱하여 새로운 배열을 생성하는 코드는 다음 중 어떤 것인가요?
transformedArray = array.map(num => num * num);
♠︎transformedArray = array.filter(num => num * num);
transformedArray = array.reduce((acc, num) => acc + num * num, []);
transformedArray = array.slice().map(num => num * num);
문제 8. 다음 코드의 출력 결과는 무엇일까요?
let square = x => x * x;
console.log(square(3));
문제 9. do...while문이 하는 일은 무엇인가요?
문제 10. 아래 코드의 출력 결과는 무엇인가요?
let count = 0;
while (count < 5) {
console.log(count);
count++;
if (count === 3) {
break;
}
}
문제 11. 아래 코드의 출력 결과는 무엇인가요?
const person = {
name: "John",
age: 30,
city: "New York"
};
const entries = Object.entries(person);
console.log(entries);
문제 12. 다음 코드에서 함수와 관련된 내용을 고르세요.
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(num => num * 2);
console.log(doubledNumbers);
numbers
배열의 각 요소를 2배로 만들어서 새로운 배열 doubledNumbers
를 생성합니다. ♠︎numbers
배열에서 짝수인 요소만 필터링하여 새로운 배열 doubledNumbers
를 생성합니다.numbers
배열에서 인덱스 1부터 4까지의 요소를 추출하여 새로운 배열 doubledNumbers
를 생성합니다.numbers
배열을 그대로 복사하여 새로운 배열 doubledNumbers
를 생성합니다.문제 13. 다음 코드에서 삼항 연산자와 관련된 내용을 고르세요.
const num = 10;
const result = num > 5 ? 'Greater than 5' : 'Less than or equal to 5';
console.log(result);
num
변수가 5보다 크다면 'Greater than 5'
문자열을, 그렇지 않다면 'Less than or equal to 5'
문자열을 result
변수에 할당합니다. ♠︎num
변수가 5보다 작다면 'Greater than 5'
문자열을, 그렇지 않다면 'Less than or equal to 5'
문자열을 result
변수에 할당합니다.num
변수가 5보다 크다면 true
를, 그렇지 않다면 false
를 result
변수에 할당합니다.num
변수가 5보다 작다면 true
를, 그렇지 않다면 false
를 result
변수에 할당합니다.문제 14. 다음 코드에서 구조 분해 할당(Destructuring Assignment)과 관련된 내용을 고르세요.
const person = {
name: 'John',
age: 30,
country: 'USA'
};
const { name, age, country } = person;
console.log(name, age, country);
person
객체의 name
, age
, country
속성을 각각 변수 name
, age
, country
에 할당합니다. ♠︎person
객체의 name
, age
, country
속성을 배열로 할당하고, 순서대로 변수 name
, age
, country
에 할당합니다.person
객체의 속성 중에서 name
, age
, country
만을 선택하여 새로운 객체를 생성합니다.person
객체의 속성 중에서 name
, age
, country
만을 선택하여 새로운 배열을 생성합니다.문제 15. 다음 코드에서 단축 속성명(Shorthand Property Name)과 관련된 내용을 고르세요.
const name = 'John';
const age = 30;
const person = {
name,
age,
country: 'USA'
};
console.log(person);
name
과 age
변수의 값을 각각 person
객체의 name
과 age
속성으로 할당합니다. ♠︎person
객체의 name
과 age
속성을 각각 name
과 age
변수의 값으로 초기화합니다.person
객체의 name
과 age
속성을 name: name
, age: age
와 같이 명시적으로 할당합니다.person
객체의 속성 중에서 name
과 age
속성만을 선택하여 새로운 객체를 생성합니다.문제 16. 다음 코드에서 전개 구문(Spread Syntax)과 관련된 내용을 고르세요.
const numbers = [1, 2, 3];
const moreNumbers = [4, 5, 6];
const combinedNumbers = [...numbers, ...moreNumbers];
console.log(combinedNumbers);
numbers
배열과 moreNumbers
배열의 모든 요소를 병합하여 새로운 배열 combinedNumbers
를 생성합니다. ♠︎numbers
배열과 moreNumbers
배열의 첫 번째 요소를 병합하여 새로운 배열 combinedNumbers
를 생성합니다.numbers
배열과 moreNumbers
배열을 병합하여 numbers
변수에 할당합니다.numbers
배열과 moreNumbers
배열을 순서대로 출력합니다.문제 17. 다음 코드에서 나머지 매개변수(Rest Parameter)와 관련된 내용을 고르세요.
function sum(...numbers) {
return numbers.reduce((acc, num) => acc + num, 0);
}
const result = sum(1, 2, 3, 4, 5);
console.log(result);
sum
함수는 임의 개수의 인수를 받아서 모두 더한 값을 반환합니다. ♠︎sum
함수는 첫 번째 인수와 나머지 인수들을 더한 값을 반환합니다.sum
함수는 나머지 인수들을 배열로 받아서 모두 더한 값을 반환합니다.♠︎sum
함수는 첫 번째 인수를 제외한 나머지 인수들을 모두 더한 값을 반환합니다.문제 18. 다음 코드에서 템플릿 리터럴(Template Literal)과 관련된 내용을 고르세요.
const name = 'John';
const age = 30;
const message = `My name is ${name} and I am ${age} years old.`;
console.log(message);
message
변수에 템플릿 리터럴을 사용하여 문자열을 할당합니다. ♠︎name
과 age
변수의 값을 문자열에 삽입하기 위해 템플릿 리터럴을 사용합니다. ♠︎name
과 age
변수를 이용하여 문자열을 연결하기 위해 템플릿 리터럴을 사용합니다. ♠︎name
과 age
변수의 값을 연산하여 message
변수에 할당합니다.문제 19. 다음 코드에서 자료구조 Map과 Set과 관련된 내용을 고르세요.
const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
myMap.set('key3', 'value3');
const mySet = new Set();
mySet.add('value1');
mySet.add('value2');
mySet.add('value3');
console.log(myMap.size);
console.log(mySet.size);
myMap
은 키와 값의 쌍을 저장하는 자료구조로, set
메서드를 사용하여 값을 저장합니다.♠︎mySet
은 중복을 허용하지 않는 값들의 집합을 저장하는 자료구조로, add
메서드를 사용하여 값을 저장합니다.♠︎myMap.size
는 myMap
에 저장된 키-값 쌍의 개수를 반환합니다.♠︎mySet.size
는 mySet
에 저장된 값의 개수를 반환합니다.♠︎문제 20. 다음 중 bind 메서드와 call 메서드의 차이점은 무엇인가요?
문제 21. 다음 코드의 결과는 무엇일까요?
const obj = {
name: "John",
greeting: function() {
console.log(`Hello, ${this.name}!`);
}
};
const obj2 = {
name: "Alice"
};
obj.greeting.bind(obj2)();
문제 22. 다음 코드의 실행 결과는 무엇일까요?
function greet(name, callback) {
console.log(`Hello, ${name}!`);
callback();
}
function sayGoodbye() {
console.log("Goodbye!");
}
greet("John", sayGoodbye);
문제 23. 콜백지옥(callback hell)이란 무엇인가요?
예제문제들이 자바스크립트 문법의 복습을 하는데 도움이 많이 된것같다.