tonumber-operations.js (1011B)
1 // Copyright (C) 2016 The V8 Project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 esid: sec-isnan-number 6 description: > 7 number argument is converted by ToNumber 8 info: | 9 isNaN (number) 10 11 1. Let num be ? ToNumber(number). 12 2. If num is NaN, return true. 13 3. Otherwise, return false. 14 ---*/ 15 16 assert.sameValue(isNaN("0"), false, "'0'"); 17 assert.sameValue(isNaN(""), false, "the empty string"); 18 assert.sameValue(isNaN("Infinity"), false, "'Infinity'"); 19 assert.sameValue(isNaN("this is not a number"), true, "string"); 20 assert.sameValue(isNaN(true), false, "true"); 21 assert.sameValue(isNaN(false), false, "false"); 22 assert.sameValue(isNaN([1]), false, "Object [1]"); 23 assert.sameValue(isNaN([Infinity]), false, "Object [Infinity]"); 24 assert.sameValue(isNaN([NaN]), true, "Object [NaN]"); 25 assert.sameValue(isNaN(null), false, "null"); 26 assert.sameValue(isNaN(undefined), true, "undefined"); 27 assert.sameValue(isNaN(), true, "no arg"); 28 29 reportCompare(0, 0);