每天一个前端知识(90):避免过度的强制转换

frontend

Posted by Tiny on August 23, 2017
function square(x) {
    // 这里会进行强制的类型转换
    return x * x;
}
console.log(square('3')); // 9
// 一种比较好的方式,我们在函数内部判断参数是否是一个数字
function square1(x) {
    if('number' === typeof x) {
        return x * x;
    }
    throw new Error('请传递正确的参数类型!');
}
console.log(square1('3')); // Error: 请传递正确的参数类型!

谨记

避免强制转换和重载的混用。

考虑防御性地监视非预期的输入。

参考资料:https://lee134134134.github.io/page/3/