자바스크립트 표준 내장 객체
- 자바스크립트 언어에는 개발 편의를 위한 수많은 객체(생성자 함수) 들이 미리 만들어져 있는데 이를 표준 내장 객체라 한다.
- 표준 내장 객체는 대문자로 시작하는 생성자 함수를 말하며 스코프에 상관없이 모든 영역에서 사용할 수 있다.
1. String 객체
- 문자열을 다루기 위한 다양한 메서드와 프로퍼티를 제공합니다.
주요 프로퍼티
- length : 문자열의 길이를 반환합니다.
주요 메서드
- charAt(index) : 지정한 인덱스의 문자를 반환합니다.
- charCodeAt(index) : 지정한 인덱스에 있는 문자의 유니코드 값을 반환합니다.
- concat(...strings) : 둘 이상의 문자열을 연결합니다.
- indexOf(searchString) : 문자열에서 특정 문자(열)의 인덱스를 반환합니다. 없으면 -1 반환.
- match(regexp) : 정규 표현식을 지원하며 일치하는 문자열을 검색하고 결과를 배열로 반환합니다.
- replace(searchValue , replaceValue) : 검색 문자열을 사용하여 문자열에서 텍스트를 교체합니다.
- search(regexp) : 정규 표현식을 지원하며 첫 번째로 일치하는 부분 문자열의 인덱스를 반환합니다.
- slice(startIndex,endIndex) : 문자열에서 특정 범위의 문자열을 반환합니다.
- split(separator) : 지정된 구분 기호를 사용하여 문자열을 부분 문자열로 분할하고 배열로 반환합니다.
- substring(startIndex,endIndex) : 지정한 인덱스에서 시작하고 지정한 길이 만큼의 문자열을 반환합니다.
- toLowerCase() : 영문자를 소문자로 변환합니다.
- toUpperCase() : 영문자를 대문자로 변환합니다.
- includes(searchString) : 전달되는 문자열이 대상 문자열에 포함되어 있는지를 반환합니다.
- valueOf() : 다양한 자료형을 문자열로 반환합니다
2. Number 객체
- 숫자를 다루기 위한 메서드와 프로퍼티를 제공합니다.
주요 상수
- Number.MAX_VALUE : 표현 가능한 가장 큰 양수
- Number.MIN_VALUE : 표현 가능한 가장 작은 양수
- Number.POSITIVE_INFINITY : 양의 무한대
- Number.NEGATIVE_INFINITY : 음의 무한대
주요 메서드
- toString() : 숫자를 문자열로 변환합니다.
- toLocaleString(): 숫자를 지역화 문자열로 반환합니다.
- valueOf(): 기본 데이터 타입으로 형변환하여 반환합니다.
- toExponential(): 숫자를 지수 표기로 변환하여 반환합니다.
- toFixed(digits): 고정 소수점 표시로 변환하여 반환합니다.
3. Math 객체
- 수학 연산을 위한 메서드와 상수를 제공합니다.
주요 프로퍼티
- Math.PI : 원주율
- Math.E : 자연로그의 밑
주요 메서드
- Math.abs(x) : 절대값을 반환합니다.
- Math.min(...values) : 인자의 최소값을 반환합니다.
- Math.max(...values) : 인자의 최대값을 반환합니다.
- Math.round(x) : 인자의 소수점 첫 번째 자리에서 반올림한 정수를 반환합니다.
- Math.ceil(x) : 인자의 소수점 이하를 올림한 정수를 반환합니다.
- Math.floor(x) : 인자의 소수점 이하를 내림한 정수를 반환합니다.
- Math.sqrt(x) : 인자의 제곱근을 반환합니다.
- Math.random() : 0 이상 1 미만의 난수를 반환합니다.
- Math.pow(base, exponent) : 첫 번째 인자를 밑, 두 번째 인자를 지수로 하여 거듭제곱을 반환합니다.
- Math.trunc(x) : 인자의 소수 부분을 삭제하고 정수 부분만 반환합니다.
4. Date 객체
- 날짜와 시간을 다루기 위한 메서드를 제공합니다.
주요 메서드
- getFullYear() : 연도를 4자리 정수로 반환합니다.
- getMonth() : 월을 나타내는 0 ~ 11의 정수를 반환합니다.
- getDate() : 날짜(1~31)를 나타내는 정수를 반환합니다.
- getDay() : 요일(0~6)을 나타내는 정수를 반환합니다. 0은 일요일입니다.
- getHours() : 시간(0~23)을 나타내는 정수를 반환합니다.
- getMinutes() : 분(0~59)을 나타내는 정수를 반환합니다.
- getSeconds() : 초(0~59)를 나타내는 정수를 반환합니다.
- getMilliseconds() : 밀리초(0~999)를 나타내는 정수를 반환합니다.
- getTime() : 1970년 1월 1일 00:00:00를 기점으로 경과된 밀리초를 반환합니다.
- toDateString() : 사람이 가장 이해하기 쉬운 형식의 문자열로 날짜를 반환합니다.
- toTimeString() : 사람이 가장 이해하기 쉬운 형식의 문자열로 시간을 반환합니다.
- toISOString() : ISO 8601 형식으로 날짜와 시간을 표현한 문자열을 반환합니다.
5. Object 객체
- javaScript의 모든 객체의 기본이 되는 객체입니다.
주요 메서드
- Object.create() : 특정 프로토타입 객체를 상속받는 인스턴스를 직접 생성할 수 있습니다.
- Object.assign() : 특정 객체를 깊은 복사할 수 있습니다.
- Object.keys() : 객체의 프로퍼티 이름 목록을 배열로 반환합니다.
- Object.values() : 객체의 값 목록을 배열로 반환합니다.
- Object.entries() : 객체의 [이름, 값] 쌍을 담은 배열을 반환합니다.
- Object.is() : 예측 가능한 두 값의 정확한 비교 결과를 반환합니다.
- Object.getPrototypeOf() : 객체의 프로토타입 객체를 반환합니다.
- Object.setPrototypeOf() : 객체의 프로토타입 객체를 설정합니다.
6. RegExp 객체
- 정규 표현식을 다루기 위한 객체입니다.
주요 메서드
- exec() : 인자로 전달받은 문자열에 대해 정규 표현식의 패턴을 검색하여 매칭 결과에 대한 정보를 배열로 반환합니다.
- test() : 인자로 전달받은 문자열에 대해 정규 표현식으로 패턴을 검색하여 매칭 결과를 논리값으로 반환합니다.
정규 표현식 패턴
- . : 임의의 한 문자를 나타냅니다.
- * : 앞의 표현식이 0회 이상 반복됨을 나타냅니다.
- + : 앞의 표현식이 1회 이상 반복됨을 나타냅니다.
- ? : 앞의 표현식이 0 또는 1회 반복됨을 나타냅니다.
- ^ : 문자열의 시작을 나타냅니다.
- $ : 문자열의 끝을 나타냅니다.
- [] : 문자 클래스를 나타냅니다. 예: [a-z]는 모든 소문자를 나타냅니다.
- \d : 숫자를 나타냅니다.
- \w : 알파벳, 숫자, 언더스코어를 나타냅니다.
- \s : 공백 문자를 나타냅니다.
7. JSON 객체
JSON ( JavaScript Object Notation )은 경량의 데이터 교환 형식 입니다.
JSON 특징
- 순수 텍스트로 구성되어 있어 다양한 프로그래밍 언어에서 사용 가능합니다.
- 주로 서버와 클라이언트 간의 데이터 교환에 사용됩니다.
- 자바스크립트 객체보다 제한적인 규칙을 가지고 있습니다.
주요 메서드
- JSON.stringify(value ,[replacer , space] ) : JavaScript 값이나 객체를 JSON 문자열로 변환합니다.
- JSON.parse(text, [reviver]) : JSON 문자열을 파싱하여 JavaScript 값이나 객체로 변환합니다.
JSON 사용 시 주의사항
- JSON은 'undefined' , 함수 , 심볼 을 지원하지 않습니다. 이러한 값들은 변환 시 무시되거나 'null'로 변환됩니다.
- 'Date' 객체는 ISO 형식의 문자열로 변환됩니다.
- 순환 참조가 있는 객체는 'JSON.stringify()'로 변환할 수 없습니다.
'Front-end > JavaScript' 카테고리의 다른 글
자바스크립트 Promise 와 async / await (0) | 2024.08.01 |
---|---|
자바스크립트 에러 처리 (0) | 2024.08.01 |
자바스크립트 배열 (0) | 2024.07.29 |
자바스크립트 호이스팅 (0) | 2024.07.24 |
자바스크립트의 실행 컨텍스트 / 스코프 / 클로저 (2) | 2024.07.24 |