typescript变量名后面的感叹号是什么意思?

typescript变量名后面的感叹号是什么意思?

问题描述:

ts的代码如下:

 let foo = () =>{
    let name = "alberto";
    return name!;
}
document.body.innerHTML = foo();

编译成js后的代码如下:

 var foo = function () {
    var name = "alberto";
    return name;
};
document.body.innerHTML = foo();

不理解name变量后面的感叹号是什么意思?

感叹号(非空断言操作符) ,就你这个来说没有什么意义,因为name是常量,如果name可能为空,可以用这个,如果为空,会丢出断言失败。