Javscript 2

[Javascript] Symbol

Symbol 은 Javascript 의 원시형 데이터 타입이며 ES6버전에 새롭게 추가되었습니다. '심볼(symbol)'은 유일한 식별자(unique identifier)를 만들고 싶을 때 사용합니다. 보통 객체 프로퍼티에 키를 고유하게 설정함으로써 프로퍼티키의 충돌을 방지하기 위해서 사용한다. 객체의 하위호환성을 유지하면서 표준을 확장한다든지, 고유한 상수값을 만드는 데 사용할 수 있다. 서드파티코드나 라이브러리등에서 객체의 값을 추가할때 심볼을 통해서 프로퍼티를 추가하게되면 충돌걱정 없이 값을 추가할수 있다. 심볼을 만들때 심볼이름이라 불리는 설명을 붙일 수 있습니다. // 심볼 id에는 "hi"라는 설명이 붙습니다. let hi = Symbol("hi"); console.dir(hi); // Sym..

Javascript 2023.08.01

[Next.js] Dynamic import

next.js 공부겸 토이프로젝트 진행중 window is not defined 에러를 맞닥뜨렸다 next.js 는 기본적으로 서버사이드 랜더링이기때문에 window 같은 클라이언트 전역객체는 참조할수가없다 그래서 로컬스토리지같은 기능을 사용할때 서버사이드에선 실행되지않고 클라이언트에서만 실행되게끔 typeof 로 타입체크를 해주는방법이 있다. 그 런 데 ScrollMagic 이라는 라이브러리를 사용하려고 보니 라이브러리 자체에서 window 객체를 사용한다 라이브러리를 import 해올때부터 window is not defined 에러가 나왔다 위의 타입체크 방법과 Dynamic import 를 같이사용해서 해결하였다. 타입체크로 window 객체가 undefined 가 아닐시 즉 클라이언트랜더링일시에..

Next.js 2023.05.03