썸네일 React v18에선 이제 안써요!!"ReactDOM.render is no longer supported in React 18" 현재 기준 리액트는 Version 18.1.0이 공개돼 있다. CRA(create-react-app)로 React 프로젝트를 생성하면 18.1.0 버전이 다운로드하여진다. 하지만 버전이 달라지면 항상 이전 버전에서 더 이상 사용하지 않는 것들이 발생하게 되는데, 18.0.0 버전부터 ReactDOM.render을 사용하지 않는다는 에러가 나온다. 사실 아직 나는 한 번도 보지 못했는데, 동기분의 에러 메시지를 통해 처음 알게 되었다. 17 버전 이하를 사용하다 18 버전으로 버전업을 한다고 했을 때 만날 수 있는 에러라고 생각해서 정리를 하려고 마음을 먹었다. ReactDOM.render는 index.js 파일에서 찾아볼 수 있는데, 우리가 흔히 보던 React의 index.js 내부 내용이다.(조금 간..
썸네일 순수 함수와 비순수 함수 🚀 순수 함수? 비순수 함수? 함수라면 그냥 함수인 거지 순수 함수는 뭐고 비순수 함수는 뭐일까? 순수 함수와 비순수 함수에 대해 얘기하기 이전에 함수형 프로그래밍에 대해 얘기해보려고 한다. 자바스크립트는 주로 객체지향 프로그래밍과 함수형 프로그래밍으로 나뉘는데 객체가 기본이 되는 프로그래밍을 객체지향 프로그래밍이라고 하고, 함수형 프로그래밍은 말 그대로 함수가 기본이 되는 프로그래밍을 의미한다. 왜 갑자기 함수형 프로그래밍 이야기가 나왔느냐!? 궁금할 수 있다. 함수형 프로그래밍을 사용하는 이유가 순수 함수를 통해 부수 효과를 최대한 억제하여 오류를 피하고 프로그램의 안정성을 높이기 위해 사용하기 때문이다. 그래서 순수 함수는 뭐고 부수효과는 뭔데? 바로 알아보자 순수 함수 & 비순수 함수(feat. ..
썸네일 프로토타입 체인 🚀 프로토타입 체인 스코프도 체인이 있듯 프로토타입 역시 체인이 있다. 프로토타입 체인에 대해 알아보자. 먼저 Person이라는 생성자 함수를 만들고, Person의 프로토타입 메서드 sayHi를 만든다. 이후 minseok을 new Person을 통해 생성한다. 이후 콘솔창에 minseok을 찍어보면 두개의 [[Prototype]]이 있는 것을 볼 수 있다. 이것이 프로토타입 체인이 이뤄진 것인데 아직은 이해하기 힘들 것이다. 잘 기억해두었다가 다시 살펴보자. 이제 콘솔 창에 Person.prototype을 쳐보면 Person이 갖고 있는 sayHi와 constructor 프로토타입 메서드와 또 [[Prototype]]이 있다. 어떤가?? 어디서 많이 본 것 같지 않나?? ㅎㅎ 이제 마지막으로 Obje..