• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Array.from()이랑 Array.of()랑 설명이 뒤바뀐 것 같아요..

21.03.12 21:44 작성 조회수 107

0

실제로 콘솔에 찍어보니 아래와 같이 나오는데요,

Array.from()은 파라미터를 쪼개서 배열로 만들어주고, 파라미터가 object 타입이면 빈 배열 []을 반환하더라고요.

반면 Array.of()는 object 타입을 파라미터로 받았을 때 그대로 반환하고, 다른 파라미터는 객체 하나로 통째로 반환하였습니다.

제가 잘못 이해한 건지요?

'use strict';

const arrayLike = {0: "zero", 1: "one", length: 2};
const obj = {1:1, 2:2, 3:3}

console.log(Array.from(obj));         // []
console.log(Array.from("ABC"));       // ["A", "B", "C"]
console.log(Array.from(arrayLike));   // [zero, one]

console.log(Array.of(obj));         // [{1: 1, 2: 2, 3: 3}]
console.log(Array.of("ABC"));       // ["ABC"]
console.log(Array.of(arrayLike));   // [{0: "zero", 1: "one", length: 2}]

답변 1

답변을 작성해보세요.

0

Array.from()이랑 Array.of()랑 설명이 뒤바뀐 것 같아요.
==> 코드 실행 결과도 맞으며,  설명도 바뀌지 않고 맞습니다.

Array.from()은 파라미터를 쪼개서 배열로 만들어주고, 파라미터가 object 타입이면 빈 배열 []을 반환하더라고요.
==> Array.from() 기능이며 맞습니다. Object를 배열로 변환할 수 없으므로 빈 배열을 반환합니다.

반면 Array.of()는 object 타입을 파라미터로 받았을 때 그대로 반환하고, 다른 파라미터는 객체 하나로 통째로 반환하였습니다.
==> 그대로 반환하지만 [ ] 안에 넣어서 그대로 반환합니다.