变量名称有什么用?马克意味着?例如
Label?: string
我在很多地方都看到了这一点,并且无法理解其含义。
答案 0 :(得分:2)
?
表示该参数是可选的。这是特定于typescript
的东西-不是angular
或javascript
(在javascript中,默认情况下所有参数都是可选的)。
来自Typescript
documentation,
在JavaScript中,每个参数都是可选的,用户可以根据需要将其保留。当他们这样做时,它们的值是不确定的。我们可以通过添加?在TypeScript中获得此功能。到参数末尾,我们希望是可选的。
function buildName(firstName: string, lastName?: string) {
if (lastName)
return firstName + " " + lastName;
else
return firstName; }
let result1 = buildName("Bob"); // works correctly now
let result2 = buildName("Bob", "Adams", "Sr."); // error, too many parameters
let result3 = buildName("Bob", "Adams"); // ah, just right