프로토타입자바스크킵트는 명령형, 함수형 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패더다임 프로그래밍이다.자바스크립트를 이루고 있는 거의 모든것이 객체다.객체지향 프로그래밍특징이나 성질을 나타내는것을 속성이라고 한다.다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것을 추상화라고 한다.속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조를 객체라고 한다.const circle = { radius: 5, // 원의 상태를 나타내는 데이터//-------원의 지름, 둘레, 넓이를 구하는동작-------------------- getDiamerter() { return 2 * this.radius; }, getPerimeter() { return 2 * Math.P..
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) // ["..