오류 발생

Node.js + Express + Redux 환경에서 작업 중,
Object.assign 사용 시 아래와 같은 오류가 발생하였다.

TypeError: undefined is not a function

원인

Object.assign 함수의 경우 ES6에서 지원하기 때문에 지원하지 않는 브라우저에 대해서 TypeError가 발생한다.

기존 webpack에 transpiler로 Babel을 사용중이었다.
그러나….

해결

알고보니 Babel을 사용하여도 모던’브라우저에서만 정상적으로 동작하고 하위 브라우저에서는 동작하지 않는다고 한다.

polyfill ( 모든 기능이 작동할 수 있도록 처리 해주는 기능 )이 추가로 설정되지 않아서 생기는 문제였다.
그런 문제로 Babel Polyfill을 설치 하니 정상적으로 동작하였다.

Babel은 공식적으로 core-js를 Polyfill 옵션으로 제공중이었으며, 그 때문에 babel-polyfill 패키지를 설치하여 코드에 포함시켜 주어야 한다.

설치 참고

How to use Polyfill

참고

How to use Polyfill
지금 바로시작하는 ES6 : github
Bable 6.x 가이드 번역 : github
stack overflow