
# JavaScript
JavaScript(JS)는 가벼운 인터프리터 또는 JIT 컴파일 프로그래밍 언어로, 일급 함수를 지원합니다. 웹 페이지의 스크립트 언어로서 제일 유명하지만 Node.js, Apache CouchDB, Adobe Acrobat처럼 많은 비 브라우저 환경에서도 사용하고 있습니다. JavaScript는 프로토타입 기반의 동적 다중 패러다임 스크립트 언어로, 객체지향형, 명령형, 선언형(함수형 프로그래밍 등) 스타일을 지원합니다.
비동기 처리 - async / await
Promise를 활용한 비동기 코드를 직관적으고 간결하게 작성하는 문법으로, 비동기 코드를 동기 코드처럼 간결하게 작성할 수 있다.async 함수는 항상 promise를 반환(리턴), 만약 async 함수의 반환값이 명시적으로 promise가 아니라면 암묵적으로 pro
비동기 처리 - Promise
promise란 비동기 작업을 표현하는 자바스크립트 객체로, 비동기 작업의 대기(pending), 이행(fulfilled), 성공(fulfilled/resolved), 실패(rejected) 상태를 표현한다.콜백 함수와 역할은 같지만 가독성이 더 좋다는 특징이 있다.p

실행 컨텍스트 Execution Context
자바스크립트 코드 실행자바스크립트 엔진은 코드가 없어도 3개의 변수(this, 변수들, 스코프 체인)를 포함해 실행 환경(실행 컨텍스트)를 초기화한다. → 전역 실행 컨텍스트 (Global Execution Context)스코프는 코드가 현재 실행되는 환경, 맥락(co

[딥다이브] 생성자 함수에 의한 객체 생성
해당 포스팅은 위키북스의 '모던 자바스크립트 Deep Dive'를 읽고 공부한 개념을 정리한 글입니다.new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다.이와 같이 생성자

제너레이터
제너레이터 ES6에서 도입되었으며, 코드 블록을 일시 중지했다가 필요한 시점에서 재개할 수 있는 특수한 함수이다. 제너레이터 특징 제너레이터는 다음과 같은 특징이 있다. 함수 호출자에게 함수 실행 제어권을 양도할 수 있다. 함수 호출자와 함수 상태를 주고받을 수 있
[JS] String.indexOf 활용 해 보기.
indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다. -mdn만약에 문자열 str1안에 str2가 포함 되어 있는지 알고싶을 때. 또, str2이 포함되었다면 문자열 inde

[프로그래머스] 순서쌍의 개수
문제 설명 내 문제 풀이 처음엔 for문과 if문을 사용해 곱하며 순서쌍의 개수를 연산하였는데 생각해보니 약수의 개수를 리턴하면 된다는걸 깨달았다! n 나누기 i의 값이 0일때, i를 배열에 추가하고 그 배열의 길이를 리턴하였다.
[자바스크립트 Deep Dive] 24. 클로저
24.1 렉시컬 스코프 > 함수 정의 위치에 의해 상위 스코프가 정적으로 결정되는 것 24.2 함수 객체의 내부 슬롯 [[Environment]] 함수 정의가 평가되어 함수 객체가 생성될 때, 함수는 자신의 내부 슬롯 [[Environment]]에 자신이 정의된 환경(상위 스코프의 참조)을 저장함 이때 해당 참조는 현재 실행 중인 실행 컨텍스트의 렉시...
[개발일기] (230327) JS 공부 조금
며칠간 또 공부를 못 하다가 오랜만에 조금 했다.일단은 당장 회사 일 때문에, 그리고 제일 먼저 목표로 잡았던 게 JS 책 다 읽기여서 오늘도 조금 더 읽었다.오늘 읽었던 부분 중 기억에 남는건 변수에 대한 것이었다.JS는 다른 정적 타입 언어와는 다르게 동적 타입 언
[프로그래머스] Lv.2 JadenCase 문자열 만들기 JavaScript
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을
javaScript - 배열 메서드들의 특징 정리
배열에 사용할 수 있는 다양한 메서드들이 존재한다. 근데 어떤 메서드는 기존의 배열을 변경하는 메서드가 있기도 하고 어떤 메서드들은 기존의 배열은 변경하지 않고 메서드에 의해서 새로운 배열, 값을 반환하는 메서드들이 있다.오늘은 기존의 배열을 변경하는 메서드들과 기존의

[프로그래머스] 짝수 홀수 개수
문제 설명 내 문제 풀이 짝수를 담을 even 변수를 만들어주고 짝수를 담아주었다. 이후 짝수의 개수와 num_list의 개수에서 짝수 개수를 뺀 값을 answer에 넣어 개수를 리턴하였다. 다른 풀이 사실 창피하지만 이 풀이를 보고 정확히 이해가 되지 않아 chatGPT에게 물어보았다.. a를 2로 나누었을때, 나머지가 0이라면 첫번째 요소에 1을...
[백준] 1926 그림 (JS)
어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다

23장 실행 컨텍스트 (1)
<mark style='background-color: ECMAScript 사양에서 소스코드는 4가지 타입으로 구분되고, 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다. 이 4가지 소스코드 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르다.전역

[프로그래머스 JavaScript] 멀리 뛰기
문제 링크문제 설명효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으