2023/02/27 2

require와 import차이점을 설명해주세요. 각각 어떤 상황에서 쓸 수 있나요?

답변 모듈시스템으로 CommonJS를 사용한 것과 ES6을 사용한 것의 차이입니다. 대표적으로 CommoneJS를 사용한 Nodejs는 require을 통해 외부 파일이나 라이브러리를 불러오지만, ES6 모듈 시스템을 사용한 리액트는 import틀 통해 라이브러리를 불러옵니다. Babel과 같은 ES6 코드를 변환해주는 도구가 없다면 require을 사용해야합니다. 꼬리질문 바벨이란? 바벨이란 ES6+버전의 자바스크립트, 타입스크립트, jSX 등 다른 언어로 분류되는 언어들에 대해 모든 브라우저에서 동작할 수 있도록 호환시켜주는 툴입니다. 바벨은 최신 문법을 이전세대 문법으로 호환시켜주는 기능이 있는데 그 중 하나가 JSX문법입니다. JSX를 ES5 코드로 바꿔 브라우저에 작동할 수 있도록 하여 리액트에..

브라우저 저장소에 대해서 차이점을 설명해주세요

답변 브라우저 저장소는 로컬스토리지, 세션스토리지, 쿠키가 있습니다. 로컬스토리지는 브라우저 종료시에도 보관되고, 브라우저가 다르더라도 동일 도메인일 경우 공유가 되지만, 세션스토리지는 브라우저 종료시 삭제되며 동일 도메인이더라도 공유되지 않습니다. 쿠키는 만료기간을 설정할 수 있고, 지속적인 데이터 교환을 위해 만들어졌습니다. 웹스토리지는 필요한 경우 꺼내서 사용하므로 자동전송의 위험이 없고, 오리진 단위로 접근이 제한되어 CSRF공격으로부터 안전합니다. 또한 4kb로 제한되는 쿠키에 비해 스토리지는 용량이 더 큽니다. 꼬리질문 CSRF? CSRF(Cross-Site Request Forgery)란 사이트간 요청 위조로, 사용자의 의도와는 무관하게 공격자의 의도한 행위를 웹사이트에 요청하게 만드는 공격..