Javascript 为什么TS抱怨函数体中的函数声明
我从TS中发现此错误: 发生错误的原因非常清楚:Javascript 为什么TS抱怨函数体中的函数声明,javascript,typescript,ecmascript-5,typescript2.2,Javascript,Typescript,Ecmascript 5,Typescript2.2,我从TS中发现此错误: 发生错误的原因非常清楚: function outer(){ if (true) { function inner(){ // nested function declaration } } } 但我的问题是——为什么TS会抱怨这一点——在传输到ES5时,是否有一些技术原因使我应该避免嵌套函数声明 函数表达式是更好的选择吗?为什么 函数表达式是更好的选择吗 对。下面是要走的路: function outer()
function outer(){
if (true) {
function inner(){ // nested function declaration
}
}
}
但我的问题是——为什么TS会抱怨这一点——在传输到ES5时,是否有一些技术原因使我应该避免嵌套函数声明
函数表达式是更好的选择吗?为什么
函数表达式是更好的选择吗
对。下面是要走的路:
function outer() {
if (true) {
const inner = function() { // OK
}
}
}
为什么?
- 默认情况下,ES模块处于严格模式李>
- 严格模式不允许在块中声明函数