일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Today
- Total
- CSS3 효과
- transform 효과
- ie7 inline
- css3
- 한빛미디어
- 모던 웹을 위한 JavaScript + jQuery 입문
- ie7 핵
- footer 고정
- Array 객체
- zoomin 효과
- HTML
- Number 객체
- CSS
- Math 객체
- Object 객체
- 레이아웃 잡기
- css로 줌인 효과 주기
- transform 전환효과
- Date 객체
- display:inline-block
- 속성 scale
- 코딩 예제
- float 깨짐
- zoom:1
- html br
- css 줄바꿈
- 속성 ease
- html 줄바꿈
- String 객체
- CSS 효과주기
마크업개발 메모장
Number 객체란? 본문
Number 객체란?
자바스크립트에서 가장 단순한 객체인 Number 객체는 두 가지 방법으로 생성할 수 있다.
<script> // 변수 선언 var numberFromLiteral = 273; var numberFromConstructor = new Number(273); // 출력 alert(typeof (numberFromLiteral)); alert(typeof (numberFromConstructor)); </script> |
Number 객체는 Object 객체가 가지는 7가지 메서드와 함께 3가지 메서드를 추가로 갖는다.
Number 객체에 있는 3가지 메서드를 정리해봤다.
메서드 이름 | 설명 |
toExponential() | 숫자를 지수 표시로 나타내는 문자열을 만듭니다. |
toFixed() | 숫자를 고정 소수점 표시로 나타낸 문자열을 만듭니다. |
toPrecision() | 숫자를 길이에 따라 지수 표시 또는 고정 소수점 표시로 나타낸 문자열을 만듭니다. |
위 메서드는 모두 매개 변수로 숫자를 하나 입력받는다.
toPrecision() 메서드는 유효숫자의 자릿수를 의미하며, 그 이외의 메서드는 소수점 몇 자리까지 나타낼 것인지를 의미한다.
3개의 메서드 모두 비슷한 기능을 수행하므로 toFixed() 메서드만 살펴보면,
toFixed() 메서드는 소수점 몇 번째 자리까지 자르는 메서드이다.
<script> // 변수 선언 var number = 273.5210332; // 출력 var output = ''; output += number.toFixed(1) + '\n'; output += number.toFixed(4); alert(output); </script> |
위 코드를 실행하면 273.5와 273.5210을 출력한다. 추가로 변수 안에 숫자를 넣지 않아도 바로 메서드를 사용할 수 있다.
숫자 273.5210332이 곧바로 toFixed() 메서드를 호출해 소수 두 번째 자리까지 자른다.
<script> // 변수 선언 var fixedNumber = (273.5210332).toFixed(2); // 출력 alert(fixedNumber); </script> |
객체의 속성이 아니라 생성자 함수의 속성을 알아보자. 우선 다음 코드 처럼 함수에 속성과 메서드를 넣어 출력해보면,
<script> // 생성자 함수 선언 function Constructor() { } Constructor.property = 273; Constructor.method = function () { }; // 출력 alert(Constructor.property); </script> |
코드를 실행하면 함수의 property 속성을 정상적으로 출력한다.
이렇게 함수는 속성과 메서드를 가질 수 있는데 Number 생성자 함수도 속성과 메서드를 가지고 있다.
Number 생성자 함수의 속성이란?
Number 생성자 함수가 갖는 속성을 아래에 정래해봤다.
속성 이름 | 설명 |
MAX_VALUE | 자바스크립트의 숫자가 나타낼 수 있는 최대 숫자 |
MIN_VALUE | 자바스크립트의 숫자가 나타낼 수 있는 최소 숫자 |
NaN | 자바스크립트의 숫자로 나타낼 수 없는 숫자 |
NEGATIVE_INFINITY | 음의 무한대 숫자 |
POSITIVE_INFINITY | 양의 무한대 숫자 |
대부분 쉽게 사용할 수 있을 것 같으므로 궁금한 몇가지만 살펴보자.
1. Number 객체의 MAX_VALUE 속성
다음 코드는 자바스크립트가 나타낼 수 있는 최대의 숫자에 1을 더해본것이다.
<script> // 변수 선언 var number = Number.MAX_VALUE + 1; // 출력 alert(number); </script> |
자바스크립트로 나타낼수 있는 최대 숫자에 1을 더했음에도 오류 없이 실행 되는것을 확인할수있다.
최대 숫자에 1을 더해도 출력되는 것을 보고 자바스크립트에 문제가 있는 게 아닌지 생각할 수 있는데, 실제 결과는 1을 더한 것이 아니다. 지수 표기로 전환됐을 때는 적어도 다음 코드 만큼 더해야 더해진다.
2. Number.MAX_VALUE에서 Infinity 변환
<script> // 변수 선언 var addNumber = Number('0.0000000000000001e+308'); var number = Number.MAX_VALUE + addNumber; // 출력 alert(number); </script> |
코드를 실행하면 Infinity를 출력한다.
자바스크립트 1.7976931348623157e + 308까지 나타낼 수 있으므로 1.7976931348623158e + 308부터는 무한한 양의 숫자로 인식해서 Infinity를 출력하게 된다.
**
자바스크립트는 표현 가능한 유한 수보다 더 큰 값은 무한대를 나타내는 특수한 값 Infinity로 출력되며 비슷하게 음수 값의 경우는 -Infinity로 출력한다.
'Javascript' 카테고리의 다른 글
Math 객체란? (0) | 2015.05.09 |
---|---|
Date 객체란? (0) | 2015.05.07 |
Array 객체란? (0) | 2015.05.06 |
String 객체란? (0) | 2015.05.06 |
Object 객체란? (0) | 2015.04.30 |