字符串' null',' true',' false' JS中的实际nulls,trues和falses等

时间:2017-05-24 10:14:00

标签: javascript type-conversion

在JS中,我们可以通过乘以1将带有数字的字符串转换为实际数字,如下所示:

'0'*1 //= 0

但不幸的是,像'null', 'true', 'false'这样的字符串的类似技巧不起作用:

'false'*0 //= NaN
!!'false' //= true

在JS中进行此类转换的最佳方式是什么?有没有本地方法呢?

3 个答案:

答案 0 :(得分:1)

您可以使用JSON.parse转换它们

JSON.parse('false') // false
JSON.parse('true')  // true
JSON.parse('null')  // null

这不适用于undefinedNaN

答案 1 :(得分:1)

您可以使用具有各种类型的对象,并将其用作检查和值存储。



<table width="100%" border="1" rules="cols" style="border-collapse : collapse;border-bottom:none">
    			<tr>
    				<td align="center" width="54%" style="border : solid thin;">Courses</td>
    				<td align="center" width="23%" style="border : solid thin;">CGPA</td>
    				<td align="center" width="23%" style="border : solid thin;">Credit</td>
    			</tr>
    			<tr>
    				<td>English Language Course</td>
    				<td align="center">8.1</td>
    				<td align="center">19</td>
    			</tr>
    			<tr>
    				<td>Additional Language Course<br>&nbsp;French</td>
    				<td align="center">8.1</td>
    				<td align="center">19</td>
    			</tr>
    			<tr>
    				<td>Foundation Course</td>
    				<td align="center">8.1</td>
    				<td align="center">19</td>
    			</tr>
    			<tr>
    				<td>Core Course<br>Physics<br>&nbsp;Physics</td>
    				<td align="center">8.1</td>
    				<td align="center">19</td>
    			</tr>
    			<tr>
    				<td>Complementary Course(s) <br>&nbsp;Mathematics <br>&nbsp;Chemsitry </td>
    				<td align="center">8.1</td>
    				<td align="center">19</td>
    			</tr>
    			<tr>
    				<td style="border-bottom : none;">Open Course <br>&nbsp;Operations Research</td>
    				<td align="center" style="border-bottom : solid thin;">8.1</td>
    				<td align="center" style="border-bottom : solid thin;">19</td>
    			</tr>
    			<tr height="35px">
    				<td></td>
    				<td align="center" colspan="2" style="border-bottom:solid thin">Semester wise SCPA</td>
    			</tr>			
    		</table>
    		<table width="100%">
    			<tr>
    				
    			</tr>			
    		</table>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

只需编写明显的代码即可。 (ES6中的示例代码。根据需要进行调整,或使用Babel或TypeScript。)

const f = x => {
    if (x === 'true') { return true }
    if (x === 'false') { return false }
    if (x === 'null') { return null }

    return undefined
}

如果您正在处理JSON输入,请使用JSON.parse