ES6 - 基础学习(15): 函数的扩展 补充
程序员文章站
2022-05-03 22:00:08
严格模式 从 ES5开始,函数内部可以设定为严格模式。ES2016做了一些修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,则该函数内部就不能显式设定为严格模式,否则会报错。 这样规定是因为函数内部的严格模式,同时适用于函数体和函数参数,但 函数在执行的时候,先执行函数参数,然后再执行函 ......
严格模式
从 es5开始,函数内部可以设定为严格模式。es2016做了一些修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,则该函数内部就不能显式设定为严格模式,否则会报错。
这样规定是因为函数内部的严格模式,同时适用于函数体和函数参数,但 函数在执行的时候,先执行函数参数,然后再执行函数体,这样就有一个不合理的地方,只有从函数体之中,才能知道参数是否应该以严格模式执行,但是参数却应该先于函数体执行。
尾调用 及 尾调用优化
尾调用(tail call)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数。
上一篇: 高德地图API之公交路线