- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 모던 자바스크립트
- git error
- async
- 그림으로 배우는 http&network
- 에러처리
- 모던 자바스크립트 deep dive
- 알고리즘
- js
- 백준
- 네트워크
- C++
- http
- React
- JavaScript
- 자바스크립트
- error
- 백준 실버
- 비동기
- 프론트엔드
- map
- Java Script
- 웹
- 상태관리
- html
- deep dive
- 이터러블
- git
- get
- es6
- Angular
목록분류 전체보기 (103)
sharingStorage

31.1 정규표현식이란? 정규표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 정규표현식은 문자열을 대상으로 패턴 매칭 기능을 제공한다. 패턴 매칭 기능이란 특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환할 수 있는 기능을 말한다. 휴대폰 전화번호가 유효한지 매칭해보는 코드 예제 정규표현식의 장점 : 위 예시에서 정규표현식을 사용하지 않는다면 반복문과 조건문을 통해 한문자씩 연속해서 체크해야 한다. 정규 표현식 사용시 반복문과 조건문 없이 패턴을 정의하고 테스트하는 것으로 간단히 체크할 수 있다. 정규표현식의 단점 : 정규 표현식은 주석이나 공백을 허용하지 않고 여러가지 기호를 혼합하여 사용하기 때문에 가독성이 좋지 않다. 31.2 정규 표현식의 생성 정규 표현식..

표준 빌트인 객체인 Date 는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. UTC는 국제표준시를 말하며 기술적인 표기에서 UTC가 사용된다. KST(한국 표준시)는 UTC에 9시간을 더한 시간이다. 현재 날짜와 시간은 자바스크립트 코드가 실행된 시스템의 시계에 의해 결정된다. 30.1 Date 생성자 함수 Date생성자 함수로 생성한 Date 객체는 기본적으로 현재 날짜와 시간을 나타내는 정수값을 가진다. 30.1.1 new Date() Date 생성자 함수를 인수 없이 new 연산자와 함께 호출하면 현재 날짜와 시간을 가지는 Date 객체를 반환한다. 30.1.2 new Date(dateString) Date 생성자 함수에 날짜와 시간을 나태내는 문자열을 인수로 전달하면 지..

표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math는 생성자 함수가 아니므로 정적 프로퍼티와 정적 메서드를 제공한다. 29.1 Math 프로퍼티 29.1.1 Math.PI 원주율 PI값을 반환한다 29.2 Math메서드 29.2.1 Math.abs Math.abs 메서드는 인수로 전달된 숫자의 절대값을 반환한다. 29.2.2 Math.round Math.round 메서드는 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다. 29.2.3 Math.ceil Math.ceil 메서드는 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다. 29.2.4 Math.floor Math.floor 메서드는 인수로 전달된 숫자의 소수점 이하를 내림한 정수를..

28.1 Number 생성자 함수 표준 빌트인 객체인 Number 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 Number 인스턴스를 생성할 수 있다. new 연산자를 사용하지 않고 Number 생성자 함수를 호출하면 Number 인스턴스가 아닌 숫자를 반환한다. 28.2 Number 프로퍼티 28.2.1 Number.EPSILON ES6에서 도입된 Number.EPSILON은 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이와 같다. Number.EPSILON는 약 2.2204460...x 10^-16이다. 다음 예제와 같이 부동소수점 산술 연산은 정확한 결과를 기대하기 어렵다. Number.EPSILON은 부동소수점으로 인해 발생하는 오차를 해결하기 위해 사용한다. 28.2...

27.1 배열이란 배열은 여러개의 값을 순차적으로 나열한 자료구조다. 자바스크립트에 배열이라는 타입은 존재하지 않는다. 배열은 객체 타입이다. 27.2 자바스크립트 배열은 배열이 아니다. 자료구조에서 말하는 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조를 말한다. 즉, 배열의 요소는 하나의 데어터 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다. 이러한 배열을 밀집 배열(dense array)이라 한다. 하지만 자바스크립트 배열은 일반적인 의미의 배열과 다르다. 즉, 배열의 요소를 위한 각각의 메모리 공간은 동일한 크기를 갖지 않아도 되며, 연속적으로 이어져 있지 않을 수도 있다. 이렇게 배열의 요소가 연속적으로 이어져 있지 않은 배열을 희소 배열(sparse array)이..

26.1 함수의 구분 ES6 이전까지 자바스크립트의 함수느느 별다른 구분 없이 다양한 목적으로 사용되었다. 이는 혼란스러우며 실수를 유발할 가능성이 있고 성능에도 좋지 않다. 이러한 문제를 해결하기 위해 ES6에서는 함수를 사용 목적에 따라 세가지 종류로 명확히 구분했다. ES6 함수의 구분 constructor prototype super arguments 일반 함수 O O X O 메서드 X X O O 화살표 함수 X X X X 26.2 메서드 ES6 사양에서 메서드는 메서드 축약 표현으로 정의된 함수만을 의미한다. ES6 메서드는 자신을 바인딩한 객체를 가리키는 내부 슬롯 [[HomeObject]]를 갖는다. 이는 super 키워드를 사용할 수 있다는 말이기도 하다. 26.3 화살표 함수 화살표 함수..

25. 클래스 ES6에서 도입된 클래스는 객체지향 프로그래머가 더욱 빠르게 학습할 수 있도록 클래스 기반 객체지향 프로그래밍 언어와 매우 흡사한 새로운 객체 생성 메커니즘을 제시한다. 클래스와 생성자 함수는 모두 프로토 타입 기반의 인스턴스를 생성하지만 정확하게 동일하게 동작하는 것은 아니다. 클래스는 생성자 함수보다 엄격하며 다음과 같이 몇 가지 차이가 있다. 클래스를 new 연산자 없이 호출하면 에러가 발생한다. 하지만 생성자 함수를 new 연산자 없이 호출하면 일반함수로서 호출된다. 클래스는 상속을 지원하는 extends와 super 키워드를 제공한다 클래스는 호이스팅으 발생하지 않는 것처럼 동작한다. 하지만 함수 선언문으로 정의된 생성자 함수는 함수 호이스팅이, 함수 표현식으로 정의된 생성자 함수..

클로저는 자바스크립트 고유의 개념이 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다. MDN에서 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. 라고 정의한다. 24.3 클로저와 렉시컬 환경 위 코드에서 외부 함수보다 중첩함수가 더 오래 유지 되는 경우 중첩 함수는 이미 생명주기가 종료한 외부 함수의 변수를 참조할 수 있다. 이러한 중첩 함수를 클로저라고 부른다. 위에 outer 함수의 실행 컨텍스트는 실행 컨텍스트 스택에서 제거되지만 outer 함수의 렉시컬 환경까지 소멸되는 것은 아니다. 클로저에 의해 참조되는 상위 스코프 변수(위 예제의 경우 outer 함수의 x=10)를 자유변수라고 부른다. 클로저를 조금 더 쉽게 번역하면 자유 변수에 묶여 있..

실행 컨텍스트는 자바스크립트 동작 원리를 담고 있는 핵심 개념이다. 실행 컨텍스트를 바르게 이해하면 자바스크립트가 스코프를 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식과 호이스팅이 발생하는 이유, 클로저의 동작 방식, 그리고 태그스 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식을 이해할 수 있다. 23.2 소스코드의 평가와 실행 자바스크립트 엔진은 소스코드를 소스코드 평가와 소스코드의 실행 과정으로 나누어 처리한다. 소스코드 평가 과정에서는 실행 컨텍스트를 생성하고 변수, 함수 등의 선언문만 먼저 실행하여 생성된 변수나 함수 식별자를 키로 실행 컨텍스트가 관리하는 스코프에 등록한다. 이 후 선언문을 제외한 소스코드가 순차적으로 실행되기 시작하는데 이것이 런타임이 시작되는 것이다...

22.1 this 키워드 this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. 함수를 호출하면 arguments 객체와 this가 암묵적으로 함수 내부에서 전달되고 this는 지역 변수처럼 사용할 수 있다. 단 this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정된다. 위와 같이 this는 함수가 호출되는 방식에 따라 this에 바인딩될 값, 즉 this 바인딩이 동적으로 결정된다. this는 객체의 메서드 내부 또는 생성자 함수 내부에서만 의미가 있고 일반 함수로 호출하면 함수 내부의 this에는 전역 객체 (window와 같은)가 바인..