使用默认参数代替||运算
不知道大家是否见到过如下这样的代码。
1 | function foo(userList: string[]) { |
这段代码中使用|| []进行了一种防御性编程,因为传入的userList可能是undefined。使用|| []以后,就可以避免在undefined上调用map函数出错,其实我们可以使用javascript的默认参数来实现这个功能。
1 | function foo(userList: string[] = []) { |
需要注意的是,默认参数只能处理undefined, 对于null或其他假值(如0、''等)是无法替代的。因此在使用默认参数时,需要确保传入的参数是undefined。否则还是用||比较保险一些。