티스토리 뷰

 

 

 

 

1. 자바스크립트 데이터 타입의 종류 (총 8가지)

 

답: 

number
string
boolean
undefined
null
object
symbol
bigint


2. 자바스크립트에서 함수는 어떤 형태로 활용이 가능한지 3가지 이상 설명하시오

 

답:

  • 함수 선언
  • 함수 표현식
  • 객체의 메소드로 활용
  • 콜백 함수로 활용
  • 고차 함수로 활용
// 함수 선언
function sayHi() {
  console.log('Hi!');
}

// 함수 표현식
const sayHi = function () {
  console.log('Hi!');
};

// 객체의 메소드로 활용
const codeit = {
  printTitle: function () {
    console.log('Codeit');
  }
}

// 콜백 함수로 활용
myBtn.addEventListener('click', function () {
  console.log('button is clicked!');
});

// 고차 함수로 활용
function myFunction() {
  return function () {
    console.log('Hi!?');
  };
};

3. 객체를 spread 할 때, 새로운 배열을 만들거나 함수의 아규먼트로 사용할 수 있다(O,X)

 

답: X

해설: 

객체는 iterable이 아니기 때문에 에러가 발생한다.

// 객체를 spread하여 새로운 배열 만들기
const obj = { a: 1, b: 2 };
const arr = [...obj]; // obj는 iterable이 아니기 때문에 에러가 발생한다.

 

+) 객체는 기본적으로 반복 가능한(iterable) 객체가 아니며, 배열반복 가능한(iterable) 객체이다.

객체를 반복하려면 Object.keys(), Object.values(), Object.entries()와 같은 메소드를 사용하여 객체의 키, 값 또는 키-값 쌍을 추출해야 한다. 이렇게 추출한 값은 배열이 되기 때문에 반복 가능한(iterable) 객체가 된다.

 

따라서 객체를 spread 할 때는 중괄호 안에서 활용해야 한다.

// 객체를 정의하여 spread 연산자 활용하기
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };

const mergedObj = { ...obj1, ...obj2 };
console.log(mergedObj); // 출력: { a: 1, b: 2, c: 3, d: 4 }

// 이미 정의된 객체를 사용하여 spread 연산자 활용하기
const originalObj = { a: 1, b: 2 };
const newObj = { ...originalObj, c: 3 };

console.log(newObj); // 출력: { a: 1, b: 2, c: 3 }

4. 모듈 스코프를 가지고 있는 파일에서 선언한 함수나 변수를 다른 파일에선 사용할 수 없다. 이때 사용할 수 있는 키워드는로 알맞은 것은?
1) extends
2) exception
3) export
4) exclusive

 

답: 3번