본문 바로가기

개발/자바스크립트40

31. RegExp 정규 표현식이란? 정규 표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다. 정규 표현식은 자바스크립트의 고유 문법이 아니며, 대부분의 프로그래밍 언어와 코드 에디터에 내장되어 있다. 정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공한다. 패턴 매칭 기능이란 특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환할 수 있는 기능을 말한다. 정규 표현식의 생성 정규 표현식 객체(RegExp 객체)를 생성하기 위해서는 정규 표현식 리터럴과 RegExp 생성자 함수를 사용할 수 있다. 정규 표현식 리터럴은 패턴과 플래그로 구성된다. RegExp 생성자 함수를 사용할때는 인수를 (pattern[, flags])와 같은 형태로 전달하여 RegExp 객체를 생성한다. 생성자 함수.. 2022. 7. 27.
30. Date 표준 빌트인 객체인 Date는 날짜와 시간(연, 월, 일, 시, 분, 초, 밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. UCT는 국제 표준시를 말한다. KST는 한국 표준시로 UCT에 9시간을 더한 시간이다. 즉, KST는 UTC보다 9시간이 빠르다. 현재 날짜와 시간은 자바스크립트가 실행된 시스템의 시계에 의해 결정된다. Date 생성자 함수 Date 생성자 함수로 생성한 Date 객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. 이 값은 1970년 1월 1일 00:00:00(UTC)을 기점으로 Date 객체가 나타내는 날짜와 시간까지의 밀리초를 나타낸다. Date 생성자 함수로 생성한 Date 객체는 기본적으로 현재 날짜와 시간을 나타내는 정수값을 가진다. 현재 날짜와.. 2022. 7. 27.
29. Math 표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math는 생성자 함수가 아니다. 따라서 Math는 정적 프로퍼티와 정적 메서드만 제공한다. Math 프로퍼티 Math.PI 원주율 PI 값을 반환한다. Math 메서드 Math.abs 인수로 전달된 숫자의 절대값을 반환한다. 절대값은 반드시 0 또는 양수이어야 한다. Math.round 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다. Math.ceil 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다. 소수점 이하를 올림하면 더 큰 정수가 된다. Math.floor 인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환한다. 소수점 이하를 내림하면 더 작은 정수가 된다. Math.sqrt 인.. 2022. 7. 27.
28. Number Number 생성자 함수 표준 빌트인 객체인 Number 객체는 생성자 함수 객체다. 따라서 new 연산자와 함께 호출하여 Number 인스턴스를 생성할 수 있다. Number 생성자 함수에 인수에 숫자를 전달하면서 new 연산자와 함께 호출하면 [[NumberData]] 내부 슬롯에 인수로 전달받은 숫자를 할당한 Number 래퍼 객체를 생성한다. 인수를 전달하지 않으면 기본값으로 0이 설정되고, 인수가 숫자가 아니면 숫자로 강제 변환 후 할당한다. 이때 숫자로 변환할 수 없다면 NaN을 할당한다. new 연산자를 사용하지 않고 생성자 함수를 호출하면 Number 인스턴스가 아닌 숫자를 반환한다. 이를 이용하여 명시적으로 타입을 변환하기도 한다. 표준 빌트인 객체인 Number 객체는 다양한 프로퍼티와.. 2022. 7. 27.
27. 배열 배열 배열은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열이 가지고 있는 값을 요소라고 한다. 자바스크립트의 모든 값은 배열의 요소가 될 수 있다. 즉, 원시값은 물론 객체, 함수, 배열 등 모든 값이 배열의 요소가 될 수 있다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 갖는다. 인덱스는 배열의 요소에 접근할 때 사용한다. 대부분의 프로그래밍 언어에서 인덱스는 0부터 시작한다. 요소에 접근할 때는 대괄호 표기법을 사용한다. 대괄호 내에는 접근하고 싶은 요소의 인덱스를 지정한다. 배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 갖는다. 배열은 인덱스와 length 프로퍼티를 갖기 때문에 for 문을 통해 순차적으로 요소에 접근할 수 있다. 자바스.. 2022. 7. 26.
26. ES6 함수의 추가 기능 함수의 구분 자바스크립트의 함수는 별다른 형식의 구분이 없었다. 일반적인 함수로 호출할 수도 있고, new 연산자와 함께 호출하여 생성자 함수로 호출할 수도 있으며, 객체에 바인딩되어 메서드로서 호출할 수도 있다. ES6 이전의 모든 함수는 callable이면서 constructor다. 이는 유연하지만 실수를 유발할 수 있으며 성능 면에서도 손해다. 생성자 함수로 쓰이지 않는 메서드, 콜백 함수는 constructor와 prototype 객체를 소유할 필요가 없으며, 생성자 함수는 일반함수로 호출되면 의도대로 동작하지 않는다. ES6 이전의 모든 함수는 사용 목적에 따라 명확한 구분이 없으므로 호출 방식에 특별한 제약이 없고 생성자 함수로 호출되지 않아도 프로토타입 객체를 생성한다. 이러한 문제를 해결하.. 2022. 7. 25.