gpt4 book ai didi

javascript - JS中括号的意义

转载 作者:行者123 更新时间:2023-11-28 13:03:23 28 4
gpt4 key购买 nike

考虑这段代码:

var Student = /** @class */ (function () {
function Student(firstName="ajith", middleInitial, lastName="k") {
this.firstName = firstName;
this.middleInitial = middleInitial;
this.lastName = lastName;
this.fullName = firstName + " " + middleInitial + " " + lastName;
}
return Student;
}()); //1.Removing the outer parenthesis also works!!! help

function greeter(person) {
return "Hello, " + person.firstName + " " + person.lastName;
}

var user = new Student;//2.here new Student() and new Student both work!!help
document.body.innerHTML = greeter(user);

为什么这两个注释附近的括号不再重要?顺便说一下,上面的代码是由 typescript 编译器生成的。

最佳答案

在第一种情况下,不需要外括号,因为 function 关键字只能开始函数实例化表达式。括号只是为了让解析器理解您需要的是表达式而不是函数声明语句

因此,括号的常见用法是在如下语句中:

(function() {
// do something
})();

如果没有初始 (function 关键字将被解析器视为函数声明语句的开头,这意味着该函数无法立即通过末尾的 () 调用;函数声明语法不允许这样做。

第二个案例无关。通过 new 调用构造函数时,如果没有传递任何参数,则括号是可选的。

关于javascript - JS中括号的意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48667596/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com