[기술면접] JavaScript 부분 8

Boyoung Lee·2024년 11월 20일

기술면접

목록 보기
27/49
post-thumbnail

<목차>

  1. 배열과 객체
  2. ES6 문법에서 새로 추가된 문법

16. 배열과 객체

  • 데이터 구조 형태
  • 데이터를 효율적으로 관리할 수 있도록 해줌

배열

  • 같은 유형의 여러 데이터 항목을 하나의 이름으로 그룹화하여 순차적으로 저장하는 데이터 구조
  • 각 데이터 항목은 인덱스를 사용하여 접근
  • 인덱스는 0부터 시작
  • 일반적으로 리스트 또는 시퀀스라고 불리기도 한다.
  • 동일한 타입의 요소들을 연속적으로 저장하는 특성을 갖는다.
  • 순서 의존

객체

  • 키와 값의 쌍으로 구성된 데이터 구조
  • 각 키는 객체 내에서 유일해야하고 해당 키에 연결된 값을 저장한다.
  • 일반적으로 서로 다른 데이터 타입을 포함
  • 데이터를 논리적 단위로 그룹화하는데 사용
  • 키를 이용해 데이터에 접근
  • 순서에 의존하지 않는다.

배열과 객체의 관계

  • 배열도 자바스크립트의 객체 타입 중 하나
  • 객체처럼 동작 할 수 있음을 의미
  • 배열은 인덱스(순서)를 키로 사용하여 값을 저장
  • 배열이 다양한 내장 프로퍼티와 메서드를 사용할 수 있는 이유도 객체의 형태로 구성되어있기에 가능
  • 어레이 객체의 인스턴스로서 어레이에 정의된 모든 메서드를 사용할 수 있음
  • 배열의 크기가 고정되지않고 요소를 추가 제거함으로서 동적으로 변경되는 속성도 객체의 특성

Q. 배열과 객체의 기본 개념을 설명해주세요.

17. ES6 문법에서 새로 추가된 문법

  • 다양한 문법 추가 => 코드의 간결성을 높이고, 모듈화를 촉진, 더 강력한 객체지향 프로그래밍을 가능하게 만듦

1. let과 const

  • let : 변수를 블록스코프로 선언. 해당 변수가 선언된 블록, 문 혹은 표현식 내에서만 유효함을 의미
  • const : 블록스코프로 선언. 한번 할당하면 그 값을 변경 할 수 없다.

2. 화살표 함수(Arrow Functions)

  • function 키워드의 대체제, 더 짧은 문법과 자신의 this, arguments, super, new.target을 바인딩하지 않음

3. 클래스(Classes)

  • 프로토타입 기반 상속을 클래스 기반 문법으로 감싸 제공
  • 객체 지향 프로그래밍을 쉽게 하는데 도움

4. 템플릿 리터럴(Template Literals)

  • 백틱을 사용
  • 문자열 삽입과 여러줄 문자열을 지원

5. 구조 분해 할당(Destructuring Assignment)

  • 객체 또는 배열의 속성을 개별 변수로 쉽게 추출 가능
let [a, b] = [1, 2];
let {x, y} = {x: 1, y: 2};

6. 모듈(Modules)

  • import와 export문을 사용해 모듈화된 코드 작성

7. 프로미스(Promises)

  • 비동기 작업을 위해 도입
  • 콜백 기반의 비동기 처리에서 벗어날 수 있는 구조 제공 (??)
let promise = new Promise(function(resolve, reject) {
  // 비동기 작업 수행
});

promise.then(function(result) {
  // 성공 시 처리
}, function(error) {
  // 실패 시 처리
});

8. 기본 매개변수(Default Parameters)

  • 함수 매개변수에 기본값을 지정할 수 있음
function greet(name = "Guest") {
  return `Hello, ${name}!`;
}

Q. 자바스크립트 ES6 문법에서 새로 추가된 문법에 대해 설명해주세요.

profile
정리정돈을 잘하는 개발자가 꿈

0개의 댓글