변수란 무엇인가? 왜 필요한가?변수: 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다.10 + 20이라는 연산을 할때 컴퓨터는 메모리 상의 임의의 위치에 값 10과 20을 저장하고 10+20의 결과값 30을 임의의 위치에 저장한다. 이때 연산을 통해 만들어진 결과값 30을 메모리에 직접 접근해 사용할 수 없다. 이 값을 사용하려면 변수를 사용해 결과값 30이 저장된 위치를 참조해 사용할 수 있다.var result = 10 + 20;변수 이름: 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름을 말한다.할당(대입, 저장): 변수에 값을 저장하는 것을 말한다.참조: 변수에 저장된 값을 읽어 들이는 것을 말한다.식별자식별자: 어떤 값을 구별해..
REPL 사용하기REPL(Read Eval Print Loop)이란 노드의 콘솔을 말한다. 자바스크립트는 스크립트 언어이므로 미리 컴파일하지 않아도 콘솔에서 코드를 실행할 수 있다.노드의 REPL입력한 코드를 읽고(Read), 해석하고(Eval), 결과물을 반환하고(Print), 종료할 때까지 반복한다.(Loop)JS 파일 실행하기노드에서 자바스크립트 코드를 실행할때 REPL에 직접 코드를 입력하는 대신 자바스스크립트 파일을 만들어 실행할 수 있다.콘솔에서 REPL로 들어가는 명령어는 node이고 노드를 통해 파일을 실행하는 명령어는 node [자바스크립트 파일 경로]이다.모듈로 만들기모듈이란 특정한 기능을 하는 함수나 변수들의 집합을 말한다.모듈로 만들어두면 여러 프로그램에 해당 모듈을 재사용할 수 있..
호출스택노드는 자바스크립트 코드의 맨 위부터 한줄씩 실행하며 호출 스택에 순서대로 쌓아 놓고 맨 위에서부터 순서대로 하나씩 실행한다.코드를 실행할때 기본적으로 호출스택에 anonymous함수가 맨 처음 쌓이는데 이 함수는 처음 실행 시의 **전역 콘텍스트(global context)**를 의미하고 **콘텍스트(context)**란 함수가 호출되었을때 생성되는 환경을 의미한다.비동기 함수의 콜백함수를 실행하는데에 호출스택의 개념만으로는 설명이 안되고 이벤트 루프, 태스트 큐(task queue), **백그라운드라(backgound)**는 개념과 함께 설명한다.이벤트 루프: 노드가 종료될 때까지 이벤트 처리를 위한 작업을 반복하는 과정을 말한다. 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 ..
나는 평소 C++을 이용해 알고리즘 문제를 풀고있다. 근데 코딩테스트에서 사용할 수 있는 언어에 C++이 없어서 자바스크립트로 코딩테스트를 봐야한다. 평소 자바스크립트를 하고 있기에 큰 문제가 되지는 않았다. 알고리즘을 위한 자바스크립트 문법을 정리했다. 배열순회Array.prototype.forEachconst arr = [1, 2, 3, 4, 5];arr.forEach((e, i)=>{ console.log(`${i}번째 요소 ${e}`);})문자열 분해String.prototype.split문자열을 구분자를 기준으로 여러개의 문자열로 나누어 배열로 만들어주는 함수const str = "1,2,3,4,5";const ret = string.split(",");console.log(ret) // ["..