typeof 90/'hi'是NaN,而typeof (90/'hi')是数字的原因是由于JavaScript的数据类型和运算规则。
首先,typeof是一个运算符,用于检查一个值的数据类型。当typeof被用于表达式时,它返回一个表示该值的数据类型的字符串。
在JavaScript中,除法运算符(/)用于计算两个数的商。如果除数或被除数是非数值类型,则会尝试将其转换为数值类型进行计算。如果转换失败,结果就会是NaN(Not a Number)。
对于表达式90/'hi'来说,90是一个数值,但'hi'是一个字符串。由于字符串不能转换为数值,所以除法运算无法进行,结果就会是NaN。
而typeof NaN的结果是"number"。这是因为NaN在JavaScript中被视为一个特殊的数值类型,表示不是一个有效的数值。虽然NaN表示的是一个不确定的数值,但它本身的数据类型仍然被归类为"number"。
因此,typeof (90/'hi')的结果是"number",表示该表达式的结果是一个数值(NaN),而不是一个字符串。
领取专属 10元无门槛券
手把手带您无忧上云