컴퓨터/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여야할 때 사용하자

[ Go Make Things ]

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

반응형