2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

자바스크립트에서 Array.from()의 사용법은 무엇인가요?

_____
Q1: Array.from()이란 무엇인가요?
A1: Array.from()은 유사 배열 객체나 이터러블 객체(iterable)를 새로운 배열로 변환하는 자바스크립트 메서드입니다.

Q2: Array.from()의 기본 문법은 어떻게 되나요?
A2:
```javascript
Array.from(arrayLike [, mapFn [, thisArg]])
```
- `arrayLike`: 배열로 변환할 유사 배열 객체 또는 이터러블 객체
- `mapFn` (선택): 각 요소에 적용할 함수
- `thisArg` (선택): `mapFn` 내부에서 사용할 this 값

Q3: "유사 배열 객체"란 무엇인가요?
A3: `length` 프로퍼티가 있고 인덱스로 접근 가능한 객체를 뜻합니다. 예를 들어, `arguments`, DOM 컬렉션, `{0: 'a', 1: 'b', length: 2}` 등이 이에 해당합니다.

Q4: Array.from()을 쓰면 어떤 장점이 있나요?
A4:
- `arguments`나 DOM 노드 리스트(nodeList) 같은 유사 배열을 배열로 쉽게 변환
- 배열의 메서드 (map, filter 등)를 바로 사용할 수 있음
- 두 번째 인자로 맵핑 함수를 쉽게 적용 가능

Q5: 예제 1 – 유사 배열 객체를 배열로 변환하기
```javascript
function example() {
console.log(arguments); // 유사 배열 객체
const argsArray = Array.from(arguments);
console.log(argsArray); // 진짜 배열
}
example(1, 2, 3);
```
Q6: 예제 2 – 이터러블을 배열로 변환하기
```javascript
const str = 'hello';
const chars = Array.from(str);
console.log(chars); // ['h', 'e', 'l', 'l', 'o']
```

Q7: 예제 3 – 두 번째 매개변수로 map 함수 사용하기
```javascript
const nums = Array.from([1, 2, 3], x => x * 2);
console.log(nums); // [2, 4, 6]
```

Q8: thisArg 매개변수는 언제 사용하나요?
A8: mapFn 내부에서 this를 특정 객체로 바인딩 하고 싶을 때 사용합니다. 예:
```javascript
const obj = { factor: 10 };
const result = Array.from([1, 2, 3], function(x) { return x * this.factor; }, obj);
console.log(result); // [10, 20, 30]
```

Q9: Array.from()과 spread 연산자 비교
- `Array.from()`은 유사 배열이나 이터러블 모두 지원하며 map 함수 적용 가능
- spread 연산자 `[...iterable]`은 이터러블만 지원하고 map 함수는 별도로 사용해야 함

Q10: 호환성은 어떻게 되나요?
Array.from()은 ES6(ES2015)부터 도입되었으며, 대부분 최신 브라우저 및 Node.js에서 지원합니다. 레거시 환경에서는 폴리필 사용 필요합니다.

---

요약하자면, `Array.from()`은 유사 배열 객체나 이터러블을 배열로 변환하면서 동시에 각 요소에 변환 함수를 적용할 수 있는 유용한 메서드입니다.
`Array.from()`은 JavaScript에서 배열(array)과 유사한 객체를 배열로 변환하는 데 사용되는 정적 메서드입니다.

이 메서드는 ES6(ECMAScript 201

5)에서 도입되었으며, 다양한 상황에서 유용하게 사용될 수 있습니다.

`Array.from()`의 기본적인 사용법과 다양한 활용 사례를 살펴보겠습니다.

기본 문법 ```javascript Array.from(arrayLike[, mapFn[, thisArg]]) ``` - arrayLike : 배열로 변환할 유사 배열 객체 또는 반복 가능한 객체(iterable object)입니다.

예를 들어, 문자열, NodeList, Set, Map 등이 여기에 해당합니다.

- mapFn (선택적): 각 요소에 대해 호출할 함수입니다.

이 함수는 배열의 각 요소를 변환하는 데 사용됩니다.

- thisArg (선택적): `mapFn`을 호출할 때 `this`로 사용할 값입니다.

기본 사용법 1. 유사 배열 객체를 배열로 변환하기 유사 배열 객체란 배열의 메서드를 사용할 수 없지만, `length` 속성과 인덱스를 가진 객체를 의미합니다.

예를 들어, `arguments` 객체는 유사 배열입니다.

```javascript function example() { const argsArray = Array.from(arguments); console.log(argsArray); // [1, 2, 3] } example(1, 2,

3); ```

2. 문자열을 배열로 변환하기 문자열은 반복 가능한 객체이므로, `Array.from()`을 사용하여 각 문자를 배열의 요소로 변환할 수 있습니다.

```javascript const str = "hello"; const charArray = Array.from(str); console.log(charArray); // ['h', 'e', 'l', 'l', 'o'] ```

3. Set 또는 Map을 배열로 변환하기 Set이나 Map과 같은 데이터 구조도 `Array.from()`을 사용하여 쉽게 배열로 변환할 수 있습니다.

```javascript const mySet = new Set([1, 2, 3, 4]); const setArray = Array.from(mySet); console.log(setArray); // [1, 2, 3, 4] const myMap = new Map([[1, 'one'], [2, 'two']]); const mapArray = Array.from(myMap); console.log(mapArray); // [[1, 'one'], [2, 'two']] ```

4. mapFn을 사용하여 변환하기 `mapFn`을 사용하면 배열의 각 요소를 변환할 수 있습니다.

예를 들어, 각 숫자에 2를 곱하는 경우 다음과 같이 사용할 수 있습니다.

```javascript const numbers = [1, 2, 3, 4]; const doubled = Array.from(numbers, x => x *

2); console.log(doubled); // [2, 4, 6, 8] ```

5. thisArg를 사용하여 컨텍스트 설정하기 `mapFn`에서 `this`를 사용할 필요가 있을 때, `thisArg`를 통해 컨텍스트를 설정할 수 있습니다.

```javascript const obj = { multiplier: 3 }; const numbers = [1, 2, 3]; const multiplied = Array.from(numbers, function(x) { return x * this.multiplier; }, obj); console.log(multiplied); // [3, 6, 9] ``` 요약 `Array.from()`은 유사 배열 객체나 반복 가능한 객체를 배열로 변환하는 데 매우 유용한 메서드입니다.

이 메서드는 배열을 생성할 때 다양한 변환 작업을 수행할 수 있는 기능을 제공하여, 코드의 가독성과 효율성을 높이는 데 기여합니다.

특히, ES6 이후의 JavaScript에서는 다양한 데이터 구조를 다룰 때 `Array.from()`을 활용하는 것이 일반적입니다.

작성자: 이윤아 [비회원] | 작성일자: 1년 전 2024-09-08 14:47:26
조회수: 263 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.