[javascript] reversed, toReversed | 배열의 순서를 뒤짚는 메서드
자바스크립트에는 배열의 순서를 뒤짚는 메소드로 두 가지를 지원한다. reversed 와 toReversed 이다. 이들 각각은 모두 배열의 순서를 뒤짚는 것은 동일하지만, reversed 는 원본 배열을 파괴한다. 그러나 toReversed 는 원본 배열은 그대로 두고, 복사본을 반전시켜 새로운 배열로 반환하는 점에서 차이가 있다. 이를 각각 살펴 보자. Array.Prototype.reversed() 배열 a 가 있을 때, reversed( ) 를 사용하면 원본 배열 자체를 변형시킨 결과를 반환한다( 파괴적 메소드). const a = [1, 2, 3]; console.log(a); // [1, 2, 3] a.reverse(); console.log(a); // [3, 2, 1] reversed 는 희..
[react ] Jotai, Recoil, Zustand, Valtio | Jotai (1)
Jotai Jotai는 원자(atom) 단위로 전역 React 상태 관리를 수행하는 라이브러리이다. 즉, 상태를 작은 단위인 atom으로 분리하여 관리하고, 렌더링은 자동으로 최적화된다. 쉽게 말해서, 의존 관계에 놓여 있지 않은 atom(원자) 간에는 서로 영향을 미치지 않는다는 것을 의미한다. 예를 들어, A라는 원자 변하더라도, B라는 원자는 아무런 영향을 받지 않는다. 이는 React 컨텍스트의 불필요한 리렌더링 문제를 해결하고, 메모이제이션 필요성을 없애며, 선언적 프로그래밍 모델을 유지하면서 시그널과 유사한 개발자 경험을 제공한다. 여기서, 선언적이란 알고리즘을 통해 얻은 결과는 이거야 라고 선언하는 것과 같다. 즉, 결과를 얻기 위해 알고리즘이 어떻게 구현되어야 하는지를 일일이 명시하는 명령..
[react] 리액트에서 상태에 대한 정리(3) - 배열
- 리액트 공식 문서 기반으로 이해한 내용을 정리한 포스트 입니다. - 리액트에서 배열의 상태 또한 읽기 전용으로 취급한다. 자바스크립트에서 배열은 직접 변경이 가능하지만, 리액트에서 state 로 취급될 때에는 변경이 불가능한 것으로 취급해야 한다. 즉, 객체와 마찬가지로 상태의 복사본을 만든 후 , 새 배열이 기존 상태를 대체하도록 해야한다. 예를 들어, array[1] = 5 와 같이 배열의 요소에 값을 직접 변경하거나, push(), pop(), splice() 와 같이 원본 배열의 상태를 직접적으로 변경하는 일체의 행위는 리액트에서는 불가능한 것으로 취급해야 한다. 이는 반대로, map(), slice(), filter() 와 같이 원본 배열의 상태를 변경시키지 않고, 새로운 배열을 생성하는 메..