자바스크립트에서는 여섯 가지 자료형을 제공한다.
→ 숫자, 문자열, 불, 함수, 객체, undefined
→ 기본 자료형은 객체가 아니므로 속성과 메서드를 추가할 수 없다.
그러나, 기본 자료형 또한 속성 또는 메서드를 추가할 수 있다.
→ 프로토타입이라는 특별한 객체를 사용하면 된다.
프로토타입은 모든 객체가 가져야 하는 속성과 메서드를 정의할 수 있는 특별한 공간이다.
// 변수를 생성한다.
let primitiveNumber = 273;
// 메서드를 추가한다.
Number.prototype.method = function () {
return 'Primitive Method';
};
// 메서드를 실행한다.
console.log(primitiveNumber.method());
// >> 실행결과
Primitive Method
let numberFromLiteral = 273;
let numberFromConstructor = new Number(273);
Number 객체가 가진 메소드의 종류는 다음과 같다.
메소드 | 설명 |
---|---|
toExponential() | 숫자를 지수 표시로 나타낸 문자열을 리턴한다. |
toFixed() | 숫자를 고정소수점 표시로 나타낸 문자열을 리턴한다. |
toPrecision() | 숫자를 길이에 따라 지수 표시 또는 고정소수점 표시로 나타낸 문자열을 리턴한다. |
String 객체는 자바스크립트에서 가장 많이 사용하는 내장 객체이다.
다음 두 가지 방법으로 생성한다.
let stringFromLiteral = '안녕하세요';
let stringFromConstructor = new String('안녕하세요');
속성 | 설명 |
---|---|
length | 문자열의 길이를 나타낸다. |
자신을 호출하는 객체의 내용을 변화시키는 메소드
객체의 내용을 변화시키지 않고 리턴하는 메소드
메소드를 줄줄이 연결해서 사용한다.
문자열에 특정 문자열이 있는지 확인할 때는 indexOf()
메소드를 사용한다.
매개변수로 받은 문자열이 포함된 부분의 위치를 리턴한다.
매개변수로 받은 문자열이 포함되어 있지 않을 때 → -1 리턴
⇒ 리턴된 값이 0보다 큰지 확인하면 문자열 내부에 특정 문자열이 있는지 확인할 수 있다.
split()
메소드를 사용하면 특정한 기호를 기반으로 문자열을 분해할 수 있다.
Data 객체 생성 방법
클래스 | 설명 |
---|---|
new Date() | 현재 시간으로 Date 객체를 생성한다. |
new Date(유닉스_타임) | 유닉스 타임으로 Date객체를 생성한다. |
new Date(시간_문자열) | 문자열로 Data객체를 생성한다. |
new Date(연, 월, -1, 일, 시간, 분, 초, 밀리초) | 시간 요소를 기반으로 Date 객체를 생성한다. |
Date 객체는 getXX() 형태의 메소드만 가진다.
이 때, XX에 들어갈 수 있는 문자는 FullYear
, Month
, Day
, Hours
, Minutes
, Seconds
, ... 이다.
Array 객체의 기본 메소드는 다음과 같다.
다음의 메소드는 모든 플랫폼(Node.js, 웹 브라우저 등)에서 사용할 수 있다.
메소드 | 설명 |
---|---|
concat() | 매개 변수로 입력한 배열의 요소를 모두 합쳐 배열을 만들어 리턴한다. |
join() | 배열 안의 모든 요소를 문자열로 만들어 리턴한다. |
pop()* | 배열의 마지막 요소를 제거하고 리턴한다. |
push()* | 배열의 마지막 부분에 새로운 요소를 추가한다. |
reverse()* | 배열의 요소의 순서를 뒤집는다. |
slice() | 배열 요소의 지정한 부분을 리턴한다. |
sort()* | 배열의 요소를 정렬한다. |
splice()* | 배열 요소의 지정한 부분을 삭제하고 삭제한 요소를 리턴한다. |
* 표시된 메소드는 자기 자신을 변화시킨다.
sort() 메소드는 단순한 배열일 때는 그냥 사용하지만,
객체 내부에 있는 특정한 값으로 정렬하고 싶을 때는 매개 변수에 함수를 넣고, 대소를 비교한다.
-1
: 앞의 것이 더 작다.0
: 같다.1
: 앞의 것이 더 크다.메소드 | 설명 |
---|---|
forEach() | 배열의 요소를 하나씩 뽑아 반복을 돌린다. |
map() | 콜백 함수에서 리턴하는 것을 기반으로 새로운 배열을 만든다. |
filter() | 콜백 함수에서 true를 리턴하는 것으로 새로운 배열을 만들어 리턴한다. |
JavaScript Object Notation의 약어로,
자바스크립트 객체를 사용한 데이터 표현 방법이다.
JSON 객체 사용의 제약
메소드 | 설명 |
---|---|
JSON.stringify(객체, 변환함수, 공백개수) | 자바스크립트 객체를 문자로 만든다. |
JSON.parse(문자열) | 문자열을 자바스크립트 객체로 파싱한다. |