보통 에러 처리를 구현하는 방법으로 사용한다.에러 처리 코드를 미리 등록해 두고 에러가 발생하면 에러 처리 코드로 점프하도록 하는 방법이다.try...catch...finally 문은 다음과 같은 3개의 코드 블록으로 구성된다. finally문은 불필요하면 생략 가능하
템플릿 리터럴은 내장된 표현식을 허용하는 문자열 리터럴입니다.여러 줄로 이뤄진 문자열과 문자 보간기능을 사용할 수 있습니다. 템플릿 리터럴은 이중 따옴표나 작은 따옴표 대신(\`\`)템플릿 리터럴은 멀티라인 문자열, 표현식 삽입, 태그드 템플릿 등 편리한 문자열 처리
호이스팅이란 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다.\*인터프리터(interpreter, 문화어: 해석기)는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. <위키백과>호이스팅은 함수 안에
React에서 조건부 렌더링은 JavaScript에서의 조건 처리와 같이 동작한다.if나 조건부 연산자(삼항연산자)와 같은 JavaScript 연산자를 현재 상태를 나타내는 엘리먼트를 만든는 데에 사용한다.쉽게 말해 조건에 따라 현재 보여주고 싶은 상태를 보여줄 수 있
구조 분해 할당 구문은 배열이나 개개체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다. \* mdn 공식문서위 코드와 같이 배열에 요소를 해체하여 개별 변수에 할당할 수 있다.위 코드는 개별에 변수에 할당하고 나머지
map 메서드는 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백 함수를 반복 호출한다. 그리고 콜백 함수의 반환값들로 구성된 새로운 배열을 반환한다. 이때 원본 배열은 변경되지 않는다.위와 같이 배열에 요소를 순회하면서 콜백 함수를 반복 호출하고, 콜
스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이므로 확실한 이해가 필요하다. Scope? 스코프는 참조 대상 식별자(자바스크립트의 변수의 선언)를 찾아내기 위한 규칙이다. 자바스크립트는 이 규칙대로 식별자를 찾는다. 전역에 선언된 변수는
자바스크립트가 제공하는 7가지 데이터 타입은 크게 원시 타입(primitive type)과 참조 타입(reference type / object)으로 구분할 수 있다.원시 타입의 값은 변경 불가능한 값이다.한번 생성된 원시 값은 읽기 전용 값으로서 변경할 수 없다.st
객체나 배열을 복살할 때, 두 가지 개념이 존재한다.Shallow Copy(얕은 복사)와 Deep Copy(깊은 복사)로 나누어 진다.얕은 복사는 주소값을 복사한다.즉 원본의 값이나 복사된 값이 변경될 경우 두 값 모두 변경된다.이 부분은 이전에 포스팅했던 참조 자료형
Object.keys() 메소드는 주어진 객체의 속성 이듬들을 일반적인 반목문과 동인한 순서로 순회되는 열거할 수 있는 배열로 반환한다.Object.values()는 Object.keys()와 반대로 객체의 값(value)들을 갖는 배열로 반환해준다.Object.ent
정규 표현식 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다.자바스크립트의 정규 표현식도 객체이기에 메소드를 사용할 수 있다.정규 표현식은 주로 문자열 데이터가 있을 때 이 데이터가 현재 페이지에 용도로 사용이 되는지를 확인하는데 유용한 기능이다.아래는
자바스크립트에는 클로저(Closure)라는 것이 있다.클로저라는 단어는 단어 자체 의미로 폐쇄라는 의미를 지니고 있다.자바스크립트에 클로저 또한 유사한 의미이다.자바스크립트의 클로저란, 함수가 선언될(혹은 생성될) 당시 주변 환경과 함께 갇히는 것을 의미한다.함수가 선
재귀 함수는 실행하는 함수가 함수 내부에서 자신을 다시 호출하는 구조로 만들어진 함수를 의미한다.재귀 함수는 반복문을 대신하여 사용할 수 있는데, while문과 같이 조건식(탈출조건)을 주지 않을 경우에 무한루프에 빠질 가능성이 있다.예시로 10부터 0까지 출력하는 함
flatten이란 단어 그대로 번역하면 평평하게 하다라는 의미이다.자바스크립트에서는 flatten은 중첩된 배열구조를 하나의 배열로 만드는 것을 의미한다.unflatten은 의미 그래도 flatten의 반대의 말로 해석하면 된다.즉 중첩된 배열 구조를 의미한다.위와 같
자바스크립트에서 함수는 일급 객체이다.일급 객체는 함수의 매개변수를 통해 함수를 전달할 수 있다.callback함수는 이러한 일급 객체의 특성을 이용한 함수 이다.콜백(callback)함수란 함수의 매개변수를 통해 다른 함수의 내부로 전달되는 함수를 의미한다.repea
옵저버블(Observable)은 단어 의미인 '관찰 할 수 있는'을 생각 해보면 이것이 어떠한 일을 해야하는지 짐작 가능하다.개념적으로 어떠한 데이터를 옵저버(Observer)가 처리할 수 있도록 포장하는 작업을 담당한다고 보면 된다.옵저버(Observer)는 옵저버블
reduce는 자바스크립트 배열 메서드 중 하나이다.reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다. mdn리듀스(reduce)는 배열안의 각 요소의 콜백 함수를 실행하는데 이때 네 개의 인자를
Mutable은 변경 가능한 변수의 유형이다.자바스크립트에서는 원시 값이 아닌 객체와 배열만이 Mutable이다.가변 객체는 객체가 생성된 후 상태를 수정할 수 있는 객체이다.불변 객체는 일단 객체가 생성되면 상태를 변경할 수 없는 객체이다.문자열과 숫자는 불변이다.
OOP는 Object Oriented Programming 의 약자로 class와 object에 기반한 프로그래밍 패러다임 이다.OOP는 관련된 데이터끼리 묶어 class를 형성하고 그 안에서 object instance를 만듬으로써 프로그램을 디자인 해준다.코드의 재
이벤트 루프(Event Loop)란? 이벤트 루프(Event Loop)는 브라우저 메인 스레드 동작 타이밍을 관리하는 관리자 라고 할 수 있다. 여기서 메인 스레드란 자바스크립트 코드 실행이나 브라우저 렌더링을 맡는 브라우저의 주된 동작이 수행되는 곳이다. 즉, 코드
V8 V8은 웹 브라우저를 만드는데 기반을 제공하는 구글에서 개발한 오픈소스 자바스크립트 엔진이다. V8은 자바스크립트 코드를 실행 전에 최적화된 머신 코드로 컴파일하는 엔진이다. 즉, V8은 자바스크립트 코드를 받아 컴파일하고 실행하는 C++ 프로그램이다. 크롬
this this 라는 키워드는 다른 언어에서도 많이 사용된다. 하지만 자바스크립트에서는 다른 언어들과는 다르게 동작을 한다. 대부분의 경우 this의 값은 함수를 호출한 방법에 의해 결정이 된다. 실행중에는 할당으로 설정할 수 없고 함수를 호출할 때 마다 다를 수
callback callback 함수란 함수의 인자로 위와 같이 함수의 인자로 넘겨주는 함수를 콜백 함수라고 한다. map과 같은 메서드 형태에서 주로 보인다. 이는 주로 비동기 처리에서 동기 처리를 할 때 callback 패턴을 사용한다. 예를 들어 위와 같이