inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Javascript ES6+ 제대로 알아보기 - 중급

Set

궁금한게 있어서 질문 남겨봅니다!

해결된 질문

288

rhkdtjd_12

작성한 질문수 138

0

희안하게 set에서는 forEach를 사용 할 수 있는데, map이랑 filter, reduce등은 안되더라고요.

forEach만 되는 이유가 혹시 따로 있는건가요?

javascript es6

답변 2

0

정재남

아래 AI는 동작 방식을 유추해서 의견을 제시한 것이니 참고만 하시고,

정확히는 각 데이터 타입별 프로토타입을 살펴보시면, 각각에 정의된 메서드를 바로 확인 가능합니다.

map, filter, reduce는 '배열'용 메서드입니다.

Map, Set의 경우에도 forEach가 동작하는 이유는 Map, Set에 forEach가 '정의되어 있기 때문'입니다.

console.log(Array.prototype)
console.log(Map.prototype)
console.log(Set.prototype)

0

rhkdtjd_12

오호.. 그렇군요 핵심은 forEach가 정의되어 있기 떄문이군요 감사합니다!

0

인프런 AI 인턴

안녕하세요 rhkdtjd_12 님, 인프런 AI 인턴이에요.
set은 배열과 다르게 순차적인 인덱스를 가지지 않기 때문에 forEach를 사용할 수 있는 것입니다. forEach는 배열의 각 요소에 대해 반복문을 실행할 수 있기 때문에 set에서도 사용할 수 있습니다.
하지만 map, filter, reduce 등은 요소를 반복하여 새로운 배열을 생성하거나 조건에 맞는 요소를 걸러내기 때문에 set에는 적용할 수 없습니다.
set의 경우에는 forEach 이외의 메소드를 사용하려면 set을 배열로 변환하여 사용해야 합니다.
이 점에 유의하여 개발을 진행하시면 될 것 같습니다. 감사합니다!

0

rhkdtjd_12

아아 그러네요 map, filter,reduce등은 새로운 배열을 반환하니까 set을 당연히 사용 할 수 없네요

3강 질문

0

12

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

25

1

2강 nodejs 3단계 설명 질문

0

31

1

imagesLoaded에 관한 질문

0

19

2

블로그 안나오네유 ㅠㅠ

0

290

2

엌ㅋㅋ 인프런에 개발자 도구 켜서 console에 하면

0

271

1

Class 소개

0

334

1

콜백에대해 질문이 있습니다.

0

338

1

2021.3 현시점에서 'ES202X' 기준으로 private 필드를 일반적으로 어떻게 구현하나요?

1

489

2

들어보니 자바의 클래스와 개념이 같은거 같은데 맞나요?

0

282

1

선생님 질문있습니다.

0

281

1

강좌의 실습자료를 요청드려도될까요?

0

267

1

Weakmap을 사용한 비공개 객체 맴버 코드 질문있습니다.

0

339

2

이터레이터 질문드려용!

0

340

3

Class 챕터의 2번째 영상 'class 소개' 초반부에 읽어보시라는 링크가 사라졌습니다

0

230

1

혹시 추가강의영상 언제올라나요??

0

251

1

강의

0

318

1

심볼 사용처 관련하여

0

286

1

강의 후반부 질문 있습니다.

2

281

2

추가강의

0

331

1

보너스 강의는 언제 오픈되나요?

1

276

1

선생님 궁금한게 있는데요. 정말로 30살이세요?

1

324

1

동영상 속도가 너무 빨라요 ㅠ_ㅠ...

0

543

2

고급 강의는 언제 올라나요???

0

258

2