본문 바로가기

전체 글

(96)
모던 자바스크립트 Deep Dive 31장 RegExp 정규표현식이란? 정규표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 문자열을 대상으로 패턴 매칭 기능을 제공한다. 예를 들어, 휴대폰 전화번호의 유효성을 체크할 때 사용한다. // 사용자로부터 입력받은 휴대폰 전화번호 const tel = '010-1234-567팔'; // 정규 표현식 리터럴로 휴대폰 전화번호 패턴을 정의한다. const regExp = /^\d{3}-\d{4}-\d{4}$/; // tel이 휴대폰 전화번호 패턴에 매칭하는지 테스트(확인)한다. regExp.test(tel); // -> false 정규 표현식 리터럴 정규표현식은 패턴과 플래그로 구성된다. 어떤 문자열 내에 패턴과 일치하는 문자열이 존재할 때, "정규 표현식과 매치한다"라고 표현한다. R..
모던 자바스크립트 Deep Dive 30장 Date UTC : Coordinated Universal Time 협정 세계시 GMT : Greewich Mean Time, 그리니치 평균시 KST : Korean Standard Time, 한국 표준시 Date는 표준 빌트인 객체이고, 날짜와 시간을 위한 메서드를 제공한다. 현재 날짜와 시간은 코드가 실행된 시스템의 시계에 의해 결정된다. Date 생성자 함수 Date 객체는 내부적으로 정수값을 갖는데, 이는 1970년 1월 1일 00:00:00(UTC)를 기점으로 객체가 나타내는 날짜와 시간까지의 밀리초(천분의 1초)를 나타낸다. Date 메서드 Date.prototype.getTime 1970년 1월 1일 00:00:00(UTC)를 기점으로 Date 객체의 시간까지 경과된 밀리초를 반환한다. new Dat..
모던 자바스크립트 Deep Dive 29장 Math Math는 생성자 함수가 아니기 때문에 정적 프로퍼티와 정적 메서드만 제공한다. Math 메서드 Math.random 임의의 난수를 반환한다. 0은 포함되지만 1은 포함되지 않는다. /* 1에서 10 범위의 랜덤 정수 취득 1) Math.random으로 0에서 1 미만의 랜덤 실수를 구한 다음, 10을 곱해 0에서 10 미만의 랜덤 실수를 구한다. 2) 0에서 10 미만의 랜덤 실수에 1을 더해 1에서 10 범위의 랜덤 실수를 구한다. 3) Math.floor로 1에서 10 범위의 랜덤 실수의 소수점 이하를 떼어 버린 다음 정수를 반환한다. */ const random = Math.floor((Math.random() * 10) + 1); console.log(random); // 1에서 10 범위의 정..
모던 자바스크립트 Deep Dive 28장 Number 원시타입이기 때문에 Number 래퍼 객체를 생성한다. Number 프로퍼티 Number.EPSILON (엡실론) 1과 1보다 큰 값 중에서 가장 작은 값의 차이. 부동소수점으로 인한 오차 문제를 해결하기 위해 도입되었다. 0.1 + 0.2; // -> 0.30000000000000004 0.1 + 0.2 === 0.3; // -> false function isEqual(a, b){ // a와 b를 뺀 값의 절대값이 Number.EPSILON보다 작으면 같은 수로 인정한다. return Math.abs(a - b) true Number.MAX_SAFE_INTEGER 자바스크립트에서 안전하게 표현할 수 있는 가장 ..
모던 자바스크립트 Deep Dive 27장 배열 배열이란? 배열은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열은 객체 타입이지만 일반 객체와는 다르게 length 프로퍼티와 값의 순서를 가진다. 배열은 객체이기 때문에 delete 연산자를 사용할 수 있다. 희소배열은 배열의 요소가 연속적으로 이어져있지 않은 배열을 말한다. 희소 배열의 length 와 배열 요소의 개수는 일치하지 않는다. 요소가 연속적으로 이어진 배열을 밀집 배열이라고 한다. 배열 메서드에는 원본 배열을 변경하는 메서드인 mutator method와 원본 배열을 변경하지 않고 새로운 배열을 생성하는 메서드인 accessor method가 있다. 되도록이면 accessor method를 사용하는 것이 좋다. push, shift, unshift 메서드는 모두 원본 배열을 변경한다..
모던 자바스크립트 Deep Dive 26장 ES6 함수의 추가 기능 메서드 ES6 이전의 모든 함수는 callable, construcor다. 콜백 함수도 constructor이기 때문에 불필요한 프로토타입 객체를 생성한다. ES6 사양에서 메서드는 메서드 축약 표현으로 정의된 함수만을 의미한다. const obj = { x: 1, // 메서드 foo() { return this.x; }, // 메서드 아님 bar: function() { return this.x; } } 메서드는 인스턴스를 생성할 수 없는 non-constructor이고, protorype 프로퍼티도 없고, 프로토타입도 생성하지 않는다. super 키워드 또한 사용할 수 있다. 객체 리터럴 반환 const create = (id, content) => ({ id, content }); const cre..

728x90