Today I Learned (기술 면접)

Parkboss·2023년 4월 3일
0

기술면접

목록 보기
6/12

질문 1)require와 import차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요?✅

대답 1)

requireimport는 외부 파일이나 라이브러리를 불러올 때 사용한다는 같은 목적을 가지고 있지만, 다른 문법구조를 가지고 있다.
require는 exports와 함께 사용되며 어느 지점에서나 호출 할 수 있고 동기적이다. NodeJS에서 사용되는 CommonJS의 키워드이다.
importexport와 함께 사용되며 파일의 시작 부분에서만 실행 할 수 있고 비동기적이다.
ES6에서 새롭게 도입된 키워드이댜.

requireBabel과 같은 ES6코드를 변환해주는 도구를 사용할 수 없는 상황에서 사용한다.
import은 JavaScript를 사용 중이거나 ES6 모듈에 대한 액세스 권한이 있는 경우에 사용한다.

바벨이란?

바벨이란 ES6+버전의 자바스크립트, 타입스크립트, JSX 등 다른 언어로 분류되는 언어들에 대해 모든 브라우저에서 동작할 수 있도록 호환시켜주는 툴입니다. 바벨은 최신 문법을 이전세대 문법으로 호환시켜주는 기능이 있는데 그 중 하나가 JSX문법입니다. JSX를 ES5 코드로 바꿔 브라우저에 작동할 수 있도록 하여 리액트에서 바벨이 사용된다.

1. require / exports (CommonJS)

// exports
const name = '호두';
module.exports = name;
// require
const name = require('./module.js');

2. import / export (ES6)

// export
const name = '호두';
export default name;
// import
import name from './module.js'

질문 2)배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요✅

대답 2)

배열이나 객체가 const로 선언되면 변수가 배열이나 객체가 저장된 고정된 메모리 위치 가리킨다는 의미입니다.
배열 또는 개체에 대한 참조는 변경할 수 없지만 배열또는 개체 내의 요소 또는 속성은 여전히 수정할 수 있습니다.

const 예시

  • push() 메서드는 배열 끝에 새 요소를 추가하는 데 사용된다.
  • const가 arr 변수의 재할당만 제한하고 그 내용은 제한하지 않기 때문에 허용된다.
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // Output: [1, 2, 3, 4]
const obj = {a: 1, b: 2};
obj.c = 3;
console.log(obj); // Output: {a: 1, b: 2, c: 3}

참고 사이트
참고 사이트

profile
ur gonna figure it out. just like always have.

0개의 댓글