개요문제를 풀면서 map() 메서드의 반환값을 원본 배열에 다시 저장하려 시도했더니 배열에 있던 값들이 다 undefined가 되고, 원하는 결과값이 나오지 않았다. map() 메서드의 목적을 잊은 큰 실수였다.잘못된 점map() 메서드는 각 요소를 변환해 새로운 배열을 생성하는 역할을 한다.여기서 핵심은 원본 배열을 건드리지 않고 새로운 배열을 생성한다는 것이다.하지만 나는 기존 배열을 수정하려고 했으므로 잘못된 사용이다.또한 원본 배열을 변경하면서 사이드 이펙트가 발생할 가능성이 있다.올바른 접근각 요소를 순회하며 조건에 따라 속성을 변경하려면 forEach() 메서드를 사용할 수 있다.조건에 맞는 것들만 새로운 배열로 반환하고 싶다면 filter() 메서드를 사용할 수 있다.
전체 글
프론트엔드 개발, 컴퓨터공학 전공 공부를 기록하고 있습니다😉toString() 메서드toSring() 메서드는 자바스크립트 Number 객체의 내장 메서드이며, 임의의 숫자형 값을 문자열로 변환해 준다.toString() 메서드를 사용해 진법 변환구문Number.toString(radix);radix : 2 - 36까지의 number 타입2024를 2진법부터 36진법까지 변환해 보기const n = 2024;for (let i = 2; i 주의사항반환 형태가 문자열임에 주의하자.

프로그래머스의 k진수에서 소수 개수 구하기 문제를 자바스크립트로 푼다.문제 설명양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다.0P0처럼 소수 양쪽에 0이 있는 경우P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우P처럼 소수 양쪽에 아무것도 없는 경우단, P는 각 자릿수에 0을 포함하지 않는 소수입니다.예를 들어, 101은 P가 될 수 없습니다.예를 들어, 437674을 3진수로 바꾸면 211020101011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (2..

·CS
개요IP 주소 이해하기 글에서 클래스리스 네트워크에서는 클래스 개념이 없으므로 별도로 네트워크와 호스트 주소를 나누는 구분자를 사용해야 하며, 이 구분자가 바로 서브넷 마스크라고 했다. 서브넷 마스크는 정확히 어떤 방식으로 구분자 역할을 수행할까? 또 서브넷팅은 뭘까? 이번 포스팅에서는 서브넷 마스크와 서브넷팅에 대해 알아보고 예제를 풀어 개념을 명확히 이해해 보자.서브넷? 서브넷 마스크?서브넷이란서브넷은 네트워크를 더 작은 네트워크로 나누는 것을 말한다.앞선 포스팅에서 클래스 단위로 네트워크 주소와 호스트 주소를 나누게 되면 호스트 주소를 몇 개 할당하지 않아 많이 남아있어도 다른 네트워크에서 해당 네트워크 주소를 사용할 수 없어서 IP 주소가 많이 낭비된다고 했다. 이런 단점을 해결하기 위해 등장한 ..

·CS
개요대부분의 네트워크는 TCP/IP로 동작한다. 이름에서부터 IP가 떡하니 들어간다. 얼마나 중요하면 이름에 넣었겠는가!네트워크를 잘 이해하려면 IP 주소 체계에 대한 이해가 필수적이다. 따라서 이번 포스팅에서는 IP 주소에 대해 아주 구체적으로 알아볼 예정이다.3 계층 주소의 특징사용자가 변경 가능한 논리 주소다.주소에 레벨이 있다. 그룹을 의미하는 네트워크 주소/호스트 주소로 나뉜다.논리 주소와 물리 주소의 차이논리 주소는 소프트웨어에 의해 생성되고 관리되는 주소다.물리 주소는 하드웨어에 의해 실제로 사용되는 주소로, 메모리나 네트워크 하드웨어에 의해 직접적으로 접근되는 주소를 의미한다.논리 주소는 물리 주소로 변환되어야 실제 자원에 접근할 수 있다. 예를 들어, 네트워크에서 논리 주소인 IP 주소는..
개요다음 코드의 실행 결과가 뭘까?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월 ..
개요자바스크립트에서 import 구문을 통해 모듈을 불러올 때 중괄호 {...}를 사용하는 경우와 사용하지 않는 경우가 있다. 이 둘의 차이는 해당 모듈이 어떻게 내보내졌는지(export)에 달려있다.ES6 모듈 시스템에는 두 가지 주요 내보내기 방식이 있다. 이 두 가지 내보내기 방식을 알아보고, 어떤 경우에 중괄호를 사용하면 되는지 알아보도록 하자.기본 내보내기(Default Export)기본 내보내기는 모듈에서 하나의 값을 기본으로 내보내는 방식이다. 이 값을 가져올 때는 중괄호를 사용하지 않는다.// module.jsconst myFunction = () => { console.log('Hello from myFunction');};export default myFunction;// main.j..
개요Node.js 환경에서 바닐라 자바스크립트를 이용해 내가 직접 만든 js 모듈을 불러오는 과정에서 다음과 같은 에러가 발생했다.SyntaxError: Unexpected token 'export' 당시에 내가 작성한 코드는 다음과 같다.// 모듈 파일export const 모듈이름 = [ ... ]// app.jsimport 모듈이름 from "./파일이름";에러 메시지에서 export가 예기치 않은 토큰이라는데, 이게 대체 무슨 말일까?우선 해당 오류가 왜 생기는지부터 알아보자.SyntaxError: Unexpected token 'export' 발생 이유해당 오류는 Node.js 환경에서 ES6 모듈 구문을 사용하려 할 때 발생한다.Node.js는 기본적으로 CommonJS 모듈 시스템을 사용하기..