挑战常规--不要使用||赋予默认值
设置默认值
function doSomething(s)
{
s=s||"abc";
console.log(s);
}这是被广泛流传的js技巧之一,这种编码应该说是很坏的习惯。
||的问题
js是一种弱类型的编程语言,代表着传入的变量并不清楚作为何种类型使用。
function doSomething(String s)
{
}这样的定义在js是不存在的,对js来说传入的任意参数都应该考虑不同类型的结果,而不是单单考虑一种情况。若传入0、false等,||所要实现默认值的功能完全错误的
console.log(0||"a"); //结果为a
console.log(false||"a"); //结果为a正确方法
应该使用if null(更严格来讲if undefined)
function doSomething(s)
{
if(s==null)
{
s="abc";
}
}或者,ES6下
function doSomething(s="abc")
{
}本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!