문제 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)이란 무엇인가요?
예제문제들이 자바스크립트 문법의 복습을 하는데 도움이 많이 된것같다.