<목차>
- 배열과 객체
- 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 문법에서 새로 추가된 문법에 대해 설명해주세요.