如果在一个数据类型中定义个一个可选参数,并且这个可选参数是对象类型时,如果要读取这个可选参数对象中的属性,要在外面包裹一个判断,确认这个可选参数是存在的,并且在一个作用域内,我们就需要对这个这个作用域内的使用这个可选参数内属性的外层进行一次判断。
例如在下面例子中,我们再进行forEach遍历中,在forEach方法的作用域内就要对内部的add进行一次判断,才能使用if( item.id === parms.add.id ),对于这种情况,其实和this指向类似,我们同样可以在外层作用域判断后,用一个变量将这个可选变量保存下来,然后在其他作用域中就可以正常使用了。
修改后