[ES6] ... 연산자 (Spread Operator)
기본 사용법var a = [1, 2, 3];var b = [4, 5];...a>>> 1, 2, 3...b>>> 4, 5대괄호를 벗겨준다고 생각하면 쉽다. Deep Copy (깊은 복사)var a = [1, 2, 3];var b = a; // b에다 a랑 똑같은 값 넣고 싶음a>>> 1, 2, 3b>>> 1, 2, 3그런데 여기서 a[3] = 4를 하면 b에는 무슨 일이 벌어질까?a>>> 1, 2, 3, 4b>>> 1, 2, 3, 4 (b에는 왜 추가됨 ???)이러한 동작이 일어나는 이유는 Array, Object와 같은 reference data type 에서는 등호(=)로 복사 시, 서로가 값을 공유하게 되어있기 때문이다.따라서 각각 완전히 독립적인 값을 가지도록 Array, Object를 복사하려는 ..
[Firebase] Uncaught TypeError: Failed to resolve module specifier "firebase/app". Relative references must start with either "/", "./", or "../".
웹 앱에서 Firebase 적용 시, 모듈 방식의 JavaScript로 작성하였으나 모듈 번들러는 사용하지 않았을 때 발생하는 오류입니다. Firebase config 정보를 담은 JS 코드가 type="module"로 적용되어 있을 때, Firebase 모듈을 CDN을 통해 Google 서버에서 가져오는 것이 아니라면 (즉, npm으로 관리하고 있다면) Webpack, Parcel, Rollup, Snowpack 과 같은 모듈 번들러가 반드시 필요합니다. Firebase 공식 문서에서는 Firebase SDK 적용 방법을 네임스페이스 방식과 모듈 방식 두 가지 중 1 택의 형태로 안내해주고 있는데, 이 중 모듈식이 최신 방법론이며, 이것을 선택했을 때 모듈 번들러를 함께 사용해주어야 합니다. Fireb..