개요문제를 풀면서 map() 메서드의 반환값을 원본 배열에 다시 저장하려 시도했더니 배열에 있던 값들이 다 undefined가 되고, 원하는 결과값이 나오지 않았다. map() 메서드의 목적을 잊은 큰 실수였다.잘못된 점map() 메서드는 각 요소를 변환해 새로운 배열을 생성하는 역할을 한다.여기서 핵심은 원본 배열을 건드리지 않고 새로운 배열을 생성한다는 것이다.하지만 나는 기존 배열을 수정하려고 했으므로 잘못된 사용이다.또한 원본 배열을 변경하면서 사이드 이펙트가 발생할 가능성이 있다.올바른 접근각 요소를 순회하며 조건에 따라 속성을 변경하려면 forEach() 메서드를 사용할 수 있다.조건에 맞는 것들만 새로운 배열로 반환하고 싶다면 filter() 메서드를 사용할 수 있다.
실수 모음
개요다음 코드의 실행 결과가 뭘까?new Date(1981, 3)new Date로 Date 객체를 생성할 때 Month는 인덱스 개념으로 0부터 시작하고, 이후 생략된 것들은 0으로 자동 초기화된다.따라서 위 코드의 실행 결과는 1981년 4월 1일 00:00:00이어야 한다.하지만 Node.js 환경에서 위의 코드를 실행했을 때 계속해서 1981-03-31T15:00:00.000Z가 나왔다. 이전 달의 말일 15시로 출력되는 것이다. 이게 대체 무슨 일이란 말인가?? 이유를 찾아봤더니 망할 타임존 문제였다.타임존 차이자바스크립트의 Date 객체는 내부적으로 UTC 시간을 기준으로 한다. 한국 표준시인 KST는 UTC보다 9시간 빠르다.로컬 시간인 KST로는 4월 1일 0:00이었던 게 UTC로는 3월 ..
개요Node.js 환경에서 바닐라 자바스크립트를 이용해 내가 직접 만든 js 모듈을 불러오는 과정에서 다음과 같은 에러가 발생했다.SyntaxError: Unexpected token 'export' 당시에 내가 작성한 코드는 다음과 같다.// 모듈 파일export const 모듈이름 = [ ... ]// app.jsimport 모듈이름 from "./파일이름";에러 메시지에서 export가 예기치 않은 토큰이라는데, 이게 대체 무슨 말일까?우선 해당 오류가 왜 생기는지부터 알아보자.SyntaxError: Unexpected token 'export' 발생 이유해당 오류는 Node.js 환경에서 ES6 모듈 구문을 사용하려 할 때 발생한다.Node.js는 기본적으로 CommonJS 모듈 시스템을 사용하기..
vite 사용할 때 chakra ui 적용 안 되는 이슈 해결개요이번에 진행하는 프로젝트를 초기 세팅 할 때 vite를 사용했는데, chakra ui가 계속 적용이 안 됐다.패키지 매니저의 문제인가 싶어 yarn을 최신 버전으로 업그레이드 해보기도, node modules를 날리고 chakra ui를 다시 다운 받아보기도 했는데, 계속해서 적용이 안 됐다. 있고 없고의 편의성 차이가 너무 크기에 어떻게든 해결 보고 싶었다.그런데!! 알아보니 vite 사용했을 때는 setup 방법이 달랐다.해결 방법vite 사용했을 때 chakra setup 방법//main.jsximport { ChakraProvider } from '@chakra-ui/react'import * as ReactDOM from 'reac..

상황 몇 주동안 사람을 미치게 만들었던.. 이 문제를 드디어 해결했다 처음에 윈도우 설치할 때 계정 이름을 한글로 만들었더니 아나콘다 설치 중 문제가 발생했고, 여차저차 방법을 찾아서 계정명을 변경했더니 윈도우가 홀라당 깨져버렸다. 아오 미쳐버리는 줄. 그래서 영문명의 계정을 새로 만들었는데, 그 뒤로 뭐가 단단히 잘못됐는지 '계속하려면 관리자 암호를 입력하고 예를 클릭하십시오'라는 문구가 떴다. 여기까지는 괜찮아. 근데 암호 입력창도 안 뜨고, 예 버튼도 없고, 아니오 하나만 활성화 돼있어서 아예 실행프로그램을 실행하는 게 안 되는 것이다... 어쩌라고 대체..~ administrator 계정 활성화 시키는 방법도 통하지 않았다. 계속 액세스 거부 코드 5가 뜨면서 안 되더라고.. 마지막 보루로 안전모..

상황 import { Route, Routes } from "react-router-dom"; 위의 코드로 리액트 라우터를 데리고 왔더니 생긴 오류 이 친구가 react-router-dom을 찾지 못 해서 생기는 오류다. 설치가 안 되어있는 것임!! 해결 방법 npm install react-router-dom --save 터미널에서 위의 명령어를 입력해 react-router-dom을 설치해주면 된다. yarn의 경우 yarn add react-router-dom + --save는 뭘까용 npm은 프로젝트에 필요한 라이브러리를 다운로드 또는 관리할 수 있도록 해주는 프로그램인데, package.json 파일을 프로젝트 폴더 바로 아래에서 생성해 모듈과 해당 모듈의 버전을 관리한다. --save 옵션을 ..

새로운 리액트 프로젝트를 시작하면서 위와 같은 오류가 났을 때 해결 npm config set registry http://registry.npmjs.org 위의 명령어를 입력하면 이렇게 잘 해결된 것을 볼 수 있다~~!