欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6 - 基础学习(15): 函数的扩展 补充

程序员文章站 2022-05-03 22:00:08
严格模式 从 ES5开始,函数内部可以设定为严格模式。ES2016做了一些修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,则该函数内部就不能显式设定为严格模式,否则会报错。 这样规定是因为函数内部的严格模式,同时适用于函数体和函数参数,但 函数在执行的时候,先执行函数参数,然后再执行函 ......

严格模式

从 es5开始,函数内部可以设定为严格模式。es2016做了一些修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,则该函数内部就不能显式设定为严格模式,否则会报错。

这样规定是因为函数内部的严格模式,同时适用于函数体和函数参数,但 函数在执行的时候,先执行函数参数,然后再执行函数体,这样就有一个不合理的地方,只有从函数体之中,才能知道参数是否应该以严格模式执行,但是参数却应该先于函数体执行。

尾调用 及 尾调用优化

尾调用(tail call)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数。