原生不检查参数类型,这是由于js是弱数据类型的语言。一般情况下,js作为浏览器端的支持的时候,输入参数类型是写代码的人预先就想好的了,所以一般不会出现这种问题。但是如果涉及用户输入或者交互产生数据的时候,就有可能会出现题主的情况。做法就是通过自定义方法判断数据类型之后在进行处理。下面是几个类型判断的方法,抛砖引玉:
gallops 2022-09-21 09:01 开发者_如何学JAVA
js无法指定函数参数的类型,你如果想限制参数为array的话,就必须在函数内部判断 Array.isArray(arr)。
一片寂静xiaohuizi蝶霜 开发者_运维知识库 2022-09-21 09:01
这里的参数arr后面冒号部分就是flow.js加的类型约束,这样我们可以强制调用的时候使用数组。然后运行flow做运行检查,就会提示类型不匹配
小丫头_053 开发者_JS百科 2022-09-21 09:05
这个是动态类型语言无约束带来的问题,JS本身无法解决这个问题,你可以使用微软出的TypeScript语言,它带有类型系统,编译结果是JS。
54321你 开发者_运维问答 2022-09-21 09:06
这样我们可以在开发时检查类型,在生产环境下去除。
六合霸主 2022-09-21 09:09 开发者_JAVA百科
所以题主这样就好了:
精彩评论