자바스크립트 easy 2문제를 풀었다. 2619. Array Prototype Last 자바스크립트 Array 객체의 프로토타입에 last 라는 새로운 메소드를 추가하는 것이 문제. last 함수는 배열의 마지막 값을 리턴한다. 빈 배열이면 -1. 간단하게는 삼항 연산자로 해결할 수 있지만, 나는 Nullish coalescing operato...
Vue | useStore()를 사용하는 이유
Vue에서 store 접근하기 보통 프론트앱에서 데이터의 변경을 감지하고 추적하는 상태관리가 필요한 데이터들은 store에 보관하여 사용한다. store 객체를 생성하고 이를 vue app에 전역적으로 등록한다. 그러면 컴포넌트에서 해당 store에 접근하여 데이터를 get, mutation 등등의 작업을 할 수 있다. 보통은 store에 접근하는...
JS | scoping 유효범위
유효 범위 scoping 기본적으로 var 키워드로 선언된 변수는 함수 레벨 스코프이다. 자바스크립트에서는 함수 레벨 스코프 (function scoping)와 블록 레벨 스코프 (block scoping)로 나뉜다. 함수 레벨 스코프 : 변수에 접근할 수 있는 범위가 변수가 선언된 함수로 한정된다. 블록 레벨 스코프 : 변수에 접근할 수...
JS | 선언과 할당 관점에서 본 호이스팅 개념과 이유
기존의 변수 선언 방식 모든 프로그래밍 언어에서의 변수는 선언 -> 할당 -> 사용의 과정을 거친다. 그리고 선언되어있지 않은 변수는 할당도, 사용도 불가능하다. 즉, 사전에 선언이 되어 있어야 사용이 가능하다. 자바스크립트에서는 이러한 과정에서 호이스팅이란 개념이 존재한다. 호이스팅 hoisting 호이스팅은 코드의 실행 전에, 변수...
왜 원시형 데이터는 스택에, 참조형 데이터는 힙에 저장할까?
Intro 원시형 데이터는 스택에, 참조형 데이터는 힙에 저장된다. 스택은 힙보다 빠르고, 작다. 대부분의 언어에서 일반적으로 이런 방식으로 데이터를 할당한다. 한 단계 더 깊이 생각해보면, 스택과 힙에 대해서 궁금한 점들이 생긴다. 정말 모든 원시형 데이터는 모조리 다 스택에, 모든 참조형 데이터는 모조리 다 힙에 저장되는 걸까? ...
프로그래머스 | 옹알이 - Javascript 문제풀이
문제 프로그래머스 - 옹알이(1) 머쓱이의 조카는 문제에서 정의한 4개의 단어만 이어 붙여서 말할 수 있다. 단어들이 주어졌을 때 머쓱이의 조카가 말할 수 있는 단어의 개수를 맞추는 문제이다. 풀이 과정 babbling에는 보기 단어들이 주어진다. 이 단어들을 순회하면서 머쓱이가 말할 수 있는 단어를 포함하고 있다면 이를 다른 문자로 갈아끼...
JS에서 안전하게 널값 처리하기 Optional chaining(?.) & Nullish coalescing operator (??)
JS에서 널값 안전하게 유연하게 처리하기 Uncaught TypeError: Cannot read properties of undefined (reading ‘xxx’) 위의 에러는 undefined인 객체의 xxx 속성에 접근하려고 할 때 쉽게 만날 수 있는 에러이다. 이런 에러를 만나게 되면 대부분 이...
코어 자바스크립트 | 1. 데이터의 가변성과 불변성
0. 자바스크립트의 데이터 유형 JS의 데이터 유형은 2 가지가 있다. primitive (=원시형, 기본형) number, string, boolean, null, undefined reference (=참조형, 객체형) object, array, function … ...
Dockerfile | RUN, CMD, ENTRYPOINT 명령어 차이점
Dockerfile 명령어 속성 RUN CMD ENTRYPOINT 도커파일을 작성할 때 명령어를 지시할 수 있는 3가지 속성이 있다. 3가지의 실행 시점과 차이점을 잘 알아야 도커파일을 잘 사용할 수 있다. (나처럼 삽질 안 하고…) 0. Intro FROM node:16-alpine as builder WORKDIR /app...
Vue2 | Mixin 개념, 여러 컴포넌트에서 재사용하기
Mixin Mixin은 여러 컴포넌트들 사이에서 공통적으로 처리해야할 로직, 데이터등을 정의할 수 있는 속성이다. 0. Intro 오늘 좀 복잡한 컴포넌트를 개발하면서 여러 컴포넌트 사이에서 공통적으로 사용하는 함수 데이터들을 발견했다. 미리 정의된 코드들이 있고 이 코드에대한 특정 색깔을 정의하고 있는 데이터, 함수가 있었고, 이 함수를 3~4...