Roel Notebook

[JS] Number 오브젝트

by Roel Downey
728x90
반응형

오브젝트 (Number)

- 숫자(123) 처리를 위한 오브젝트

- 즉, Number 오브젝트에 숫자 처리를 위한 함수와 프로퍼티가 포함되어 있으며 함수를 호출하여 숫자 처리를 하게 된다.

 

프로퍼티 리스트

- new Number() : 인스턴스 생성

Number 함수 

- Number() : 숫자 값으로 변환하여 반환

Number.prototype

- constructor : 생성자

- toString() : 숫자 값을 문자열로 변환

- toLocaleString() : 숫자 값을 지역화 문자로 변환

- valueOf() : 프리미티브 값 반환

- toExponential() : 지수 표기로 변환

- toFixed() : 고정 소수점 표기로 변환

- toPrecision() : 고정 소수점 또는 지수 표기로 변환

 

Number()

- 파라미터 값을 Number 타입으로 변환

- 파라미터 값을 작성하지 않으면 0을 반환

 

파라미터 값이 String 타입이라도 값이 숫자이면 변환 가능

예)

console.log(Number("123")+500);
console.log(Number("ABC"));


실행 결과 )
623

NaN

 

 

숫자로 변환 할 수 있으면 변환

예)

console.log(Number(0x14));
console.log(Number(true));
console.log(Number(null));
console.log(Number(undefined));


실행 결과 )
20

1

0

NaN

 

설명 )

- 16진수는 10진수로 변환

- true는 1로 , false는 0으로 변환

- null은 0으로 변환

- undefined는 NaN로 변환

 

 

Number 상수

- Number.MAX_VALUE : 1.7976931348623157 * 10(308승)

- Number.MIN_VALUE : 5 * 10 (-324승)

- Number.NaN : Not-a-Number

- Number.POSITIVE_INFINITY : infinity

- Number.NEGATIVE_INFINITY : -infinity

 

- 상수는 값을 변경, 삭제 할 수 없음

- 영문 대문자 사용이 관례

- Number.MAX_VALUE 형태로 값 사용

 

 

 

New 연산자

- 오브젝트로 인스턴스를 생성하여 반환

- 원본을 복사하는 개념

 

new 연산자를 사용하면 인스턴스 

예)

var obj = new Number();
console.log(typeof(obj));

실행 결과 )
object

 

- 인스턴스 생성 목적

인스턴스마다 값을 가지기 위한것

예)

var oneObj = new Number("123");
console.log(oneObj.valueOf());

var twoObj = new Number("456");
console.log(twoObj.valueOf());

실행 결과 )

123

456

 

 

프리미티브 값

- Primitive Value : 언어에 있어 가장 낮은 단계의 값

 

프리미티브 타입

- Number, String, Boolean : 인스턴스 생성 가능

- Null, Undefined : 인스턴스 생성 불가

- Object는 프리미티브 값을 제공하지 않음

 

인스턴스의 프리미티브 값

- var obj = new Number(123);

인스턴스를 생성하면 파라미터 값을 인스턴스의 프리미티브 값으로 설정

 

- 프리미티브 값을 갖는 오브젝트 : Boolean, Date, Number, String

 

프리미티브 값 반환

예)

var obj = new Number(123);
console.log(obj + 200);

실행 결과 )

323

 

 

toString()

 

data를 String 타입으로 변환

예)

var value = 20;
console.log(20 === value.toString());

console.log(value.toString(16));

실행 결과 )

false

14

 

설명)

1. 20 === value.toString() 의 결과는 false , 20을 String 타입으로 변환하기 때문에

2. value.toString(16)  20을 16진수로 변환하며 값은 14

 

 

변환할 때 주의 사항 : 유동 소수점 사용

예)

console.log(20..toString());

실행 결과 )

20

 

설명)

20.toString() 형태로 작성하면 에러가 난다. 

20이 아니라 20.을 변환 대상으로 인식하므로 점(.)이 없는 valuetoString() 형태가 되기 때문에 20..을 작성한다.

 

 

 

728x90
반응형

'Web > JavaScript' 카테고리의 다른 글

[JS] Object 오브젝트  (0) 2022.01.17
[JS] String 오브젝트  (0) 2022.01.13
[JS] 오브젝트(Object)  (0) 2022.01.04
[JS] 함수(Function)  (0) 2022.01.03
[JS] 문장(Statement)  (0) 2022.01.03

블로그의 정보

What doing?

Roel Downey

활동하기