Web/JavaScript(36)
-
[JavaScript] 모던 자바스크립트 Deep Dive 31장 - RegExp
정규 표현식이란? 정규 표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 정규표현식을 사용하면 반복문과 조건문 없이 패턴을 정의하고 테스트하는 것으로 간단히 체크할 수 있다. 정규 표현식의 생성 정규 표현식 객체를 생성하기 위해서는 정규 표현식 리터럴과 RegExp 생성자 함수를 사용할 수 있다. const target = 'Is this all there is?'; // 패턴: is // 플래그: i => 대소문자를 구별하지 않고 검색한다. const regexp = /is/i; // test 메서드는 target 문자열에 대해 정규 표현식 regexp의 패턴을 검색하여 매칭 결과를 // 불리언 값으로 반환한다. regexp.test(target); // true Reg..
2022.08.22 -
[JavaScript] 모던 자바스크립트 Deep Dive 30장 - Date
표준 빌트인 객체인 Date는 날짜와 시간(연, 월, 일, 시, 분, 초, 밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. Date 생성자 함수 Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. new Date() Date 생성자 함수를 인수 없이 new 연산자와 함께 호출하면 현재 날짜와 시간을 가지는 Date 객체를 반환한다. new Date(millseconds) Date 생성자 함수에 숫자 타입의 밀리초를 인수로 전달하면 1970년 1월 1일 00:00:00(UTC)을 기점으로 인수로 전달된 밀리초만큼 경과한 날짜와 시간을 나타내는 Date 객체를 반환한다. new Date(dateString) Date 생성자 함수에 날짜와 시간..
2022.08.22 -
[JavaScript] 모던 자바스크립트 Deep Dive 29장 - Math
표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math는 생성자 함수가 아니다. 따라서 Math는 정적 프로퍼티와 정적 메서드만 제공한다. Math 프로퍼티 Math.PI 원주율 PI 값을 변환한다. Math.PI; // 3.141592653589793 Math 메서드 Math.abs 인수로 전달된 숫자의 절대값을 변환한다. 절대값은 반드시 0또는 양수이어야한다. Math.abs(-1); // 1 Math.abs('1'); // 1 Math.abs(''); // 0 Math.abs([]); // 0 Math.abs(null); // 0 Math.abs(undefined); // NaN Math.abs({}); // NaN Math.abs('string'); //..
2022.08.19 -
[JavaScript] 모던 자바스크립트 Deep Dive 28장 - Number
Number 생성자 함수 표준 빌트인 객체인 Number 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 Number 인스턴스를 생성할 수 있다. const numObj = new Number(); console.log(numObj); // [Number: 0] const numObj = new Number(10); console.log(numObj); // [Number: 10] Number 프로퍼티 Number.EPSILON ES6에서 도입된 Number.EPSILON은 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이와 같다. Number.MAX_VALUE 자바스크립트에서 표현할 수 있는 가장 큰 양수 값이다. Number.MAX_VALUE보다 큰 숫자는 Infinity다. N..
2022.08.19 -
[JavaScript] 모던 자바스크립트 Deep Dive 27장 - 배열
배열이란? 배열은 여러 개의 값을 순차적으로 나열한 자료구조다. const arr = ['apple', 'banana', 'orange']; arr[0]; // 'apple' arr[1]; // 'banana' arr[2]; // 'orange' arr.length // 3 typeof arr // object arr.constructor === Array // true Object.getPrototypeOf(arr) === Array.prototype // true 배열은 객체지만 일반 객체와는 구별되는 독특한 특징이 있다. 구분 객체 배열 구조 프로퍼티 키와 프로퍼티 값 인덱스와 요소 값의 참조 프로퍼티 키 인덱스 값의 순서 X O length 프로퍼티 X O 자바스크립트 배열은 배열이 아니다 자바스..
2022.08.11 -
[JavaScript] 모던 자바스크립트 Deep Dive 26장 - ES6 함수의 추가 기능
함수의 구분 ES6 이전의 함수 var foo = function(){ return 1; }; // 일반적인 함수로서 호출 foo(); // 1 // 생성자 함수로서 호출 new foo(); // foo{} // 메서드로서 호출 var obj = { foo: foo }; obj.foo(); // 1 이처럼 ES6 이전의 함수는 사용 목적에 따라 명확히 구분되지 않는다. callable이면서 constructor다. 이러한 문제를 해결하기 위해 ES6에서는 함수를 사용 목적에 따라 세 가지 종류로 명확히 구분했다. ES6 함수의 구분 constructor prototype super arguments 일반 함수 O O X O 메서드 X X O O 화살표 함수 X X X X 메서드 일반적으로 메서드는 객체에..
2022.08.10