JavaScript 총정리 - 목차로 바로가기
constructor number.constructor
object의 constructor 함수를 리턴한다.
리턴값: function Number() { [native code] }
isFinite() isFinite(testValue)
어떤 숫자가 유한하고 legal한 숫자인지 체크한다.
리턴값: 불리언. 테스트값이 +Infinity/ -Infinity/ NaN이면 false를, 그 외에는 true를 리턴한다.
testValue - 테스트할 값
* Global 메소드에도 있다.
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true
isFinite(null); // true, would've been false with the
// more robust Number.isFinite(null)
isFinite('0'); // true, would've been false with the
// more robust Number.isFinite("0")
isInteger() Number.isInteger(value)
어떤 값이 정수인지 체크한다.
리턴값: 불리언. 테스트값이 정수이고 type Number이면 false를, 그 외에는 true를 리턴한다.
testValue - 테스트할 값
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
isNaN() isNaN(value)
어떤 값이 illegal한 숫자인지 체크한다.
리턴값: 불리언. 그 값이 NaN(Not-a-Number)이면 true를, 그렇지 않으면 false를 리턴한다.
value - 테스트할 값
* Number.isNaN() 메소드와는 다르다.
- isNaN()은 값을 Number로 변환한 후에 그것을 테스트한다.
- Number.isNaN()은 Number로 변환하지 않는다. 따라서 데이터 타입이 Number가 아니면 true를 리턴하지 않는다.
* Global 메소드에도 있다.
isNaN(NaN); // 참
isNaN(undefined); // 참
isNaN({}); // 참
isNaN(true); // 거짓
isNaN(null); // 거짓
isNaN(37); // 거짓
// 문자열
isNaN("37"); // 거짓: "37"은 NaN이 아닌 숫자 37로 변환됩니다
isNaN("37.37"); // 거짓: "37.37"은 NaN이 아닌 숫자 37.37로 변환됩니다
isNaN("123ABC"); // 참: parseInt("123ABC")는 123이지만 Number("123ABC")는 NaN입니다
isNaN(""); // 거짓: 빈 문자열은 NaN이 아닌 0으로 변환됩니다
isNaN(" "); // 거짓: 공백이 있는 문자열은 NaN이 아닌 0으로 변환됩니다
// dates
isNaN(new Date()); // 거짓
isNaN(new Date().toString()); // 참
// 이것이 허위 양성이고 isNaN이 완전히 신뢰할 수 없는 이유이다.
isNaN("blabla") // 참: "blabla"는 숫자로 변환됩니다.
// 이것을 숫자롯 parsing 하는 것을 실패하고 NaN을 반환한다.
isSafeInteger()
MAX_VALUE
MIN_VALUE
NEGATIVE_INFINITY
NaN Number.NaN
Not-a-Number 값을 나타낸다. legal한 숫자가 아니라는 것을 나타낸다.
* Number.NaN 프로퍼티와 같다. (the same. ===는 아님.)
* Global property에도 있다.
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
function valueIsNaN(v) { return v !== v; }
valueIsNaN(1); // false
valueIsNaN(NaN); // true
valueIsNaN(Number.NaN); // true
POSITIVE_INFINITY
prototype Number.prototype.name = value
자바스크립트 numbers에 사로운 property나 메소드를 추가할 수 있게 해준다.
* property를 construct할 때, 모든 number들은 property와 그것의 값을 디폴트로 부여받는다.
* 메소드를 construct할 때, 모든 숫자들은 이 메소드가 available하다.
* Number.prototype은 하나의 number object를 뜻하는 것이 아니라, Number() object 그 자체를 뜻한다.
toExponential()
toFixed() numObj.toFixed([digits])
숫자를 문자열로 변환하는데, specify된 갯수의 자릿수까지만 자른다.
리턴값: 정확한 갯수의 자릿수까지 가진 숫자를 나타내는 문자열
digits - 소수점 뒤 자릿수의 갯수 (디폴트: 0)
* 만약 numObj의 자릿수보다 큰 숫자를 digits에 넣으면, 그만큼 0이 추가된다.
var numObj = 12345.6789;
numObj.toFixed(); // Returns '12346': 반올림하며, 소수 부분을 남기지 않습니다.
numObj.toFixed(1); // Returns '12345.7': 반올림합니다.
numObj.toFixed(6); // Returns '12345.678900': 빈 공간을 0으로 채웁니다.
(1.23e+20).toFixed(2); // Returns '123000000000000000000.00'
(1.23e-10).toFixed(2); // Returns '0.00'
2.34.toFixed(1); // Returns '2.3'
2.35.toFixed(1); // Returns '2.4'. 이 경우에는 올림을 합니다.
-2.34.toFixed(1); // Returns -2.3 (연산자의 적용이 우선이기 때문에, 음수의 경우 문자열로 반환하지 않습니다...)
(-2.34).toFixed(1); // Returns '-2.3' (...괄호를 사용할 경우 문자열을 반환합니다.)
toLocaleString()
toPrecision() numObj.toPrecision([precision])
숫자를 specify된 길이로 format한다.
리턴값: specify된 precision으로 format된 숫자를 나타내는 문자열
precision - digit의 수. (디폴트: format하지 않고 전체 숫자를 리턴한다.)
* 필요하다면 소수점이나 null이 추가된다.
var numObj = 5.123456;
console.log(numObj.toPrecision()); // logs '5.123456'
console.log(numObj.toPrecision(5)); // logs '5.1235'
console.log(numObj.toPrecision(2)); // logs '5.1'
console.log(numObj.toPrecision(1)); // logs '5'
numObj = 0.000123
console.log(numObj.toPrecision()); // logs '0.000123'
console.log(numObj.toPrecision(5)); // logs '0.00012300'
console.log(numObj.toPrecision(2)); // logs '0.00012'
console.log(numObj.toPrecision(1)); // logs '0.0001'
toString() number.toString(radix)
숫자를 문자열로 변환한다.
리턴값: 숫자를 나타내는 문자열
radix - 몇 진법으로 변환할 것인가(2~36)
* String 메소드에도 있다.
const stringObj = new String('foo');
console.log(stringObj);
// expected output: String { "foo" }
console.log(stringObj.toString());
// expected output: "foo"
valueOf() numObj.valueOf()
숫자의 primitive 값을 리턴한다.
리턴값: 숫자의 primitive 값을 나타내는 숫자
var numObj = new Number(10);
console.log(typeof numObj); // object
var num = numObj.valueOf();
console.log(num); // 10
console.log(typeof num); // number
< 출처 >
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number
Number
Number 객체는 숫자 값으로 작업할 수 있게 해주는 래퍼wrapper 객체입니다. Number 객체는 Number() 생성자를 사용하여 만듭니다. 원시 숫자 자료형은 Number() 함수를 사용해 생성합니다.
developer.mozilla.org
https://www.w3schools.com/jsref/jsref_obj_number.asp
JavaScript Number Reference
JavaScript Number Reference JavaScript Numbers JavaScript has only one type of number. Numbers can be written with, or without, decimals: Example var x = 3.14; // A number with decimals var y = 34; // A number without decimals Try it Yo
www.w3schools.com
'정리_창고' 카테고리의 다른 글
JavaScript - 정규표현식 (0) | 2020.07.08 |
---|---|
JavaScript - Operators 사전식 정리 (0) | 2020.07.08 |
JavaScript - Math Methods 사전식 정리 (0) | 2020.07.08 |
JavaScript - Global Methods 사전식 정리 (0) | 2020.07.08 |
JavaScript - String Methods 사전식 정리 (0) | 2020.07.05 |
댓글