컴퓨터/JavaScript_typescript
[JavaScript] 같음 비교
수제녹차
2020. 10. 5. 11:39
728x90
반응형
* Object.is(value1, value2)
: 두 값이 같은 값인지 결정한다
== : 같음을 테스트하기 전 양 쪽이 같은 형이 아니라면 다양한 강제(coercion)를 적용한다
"" === false // true
Object.is는 강제하지 않는다
Object.is('foo', 'foo'); // true
Object.is(window, window); // true
Object.is('foo', 'bar'); // false
Object.is([], []); // false
var test = { a: 1 };
Object.is(test, test); // true
Object.is(null, null); // true
// 특별한 경우
Object.is(0, -0); // false
Object.is(-0, -0); // true
Object.is(NaN, 0/0); // true
* Number.isNaN() : does not coerce values
Number여야할 때 사용하자
The Number.isNaN() method does not coerce values. As a result, things like blabla and undefined, which previously would have returned a true value with isNaN() now return false.
[ 사용 예 ]
function fToC (t) {
let temp = parseFloat(t);
if (Number.isNaN(temp)) {
throw 'Not a valid temperature';
}
return (temp - 32) * (5 / 9);
}
source : Go Make Things
반응형