新手在飞镖js。好的,我理解可选参数的概念,与C#非常相似,但我不太清楚为什么以下结果会给出结果:
void main() {
print(SayInFunction('Joe', suffix : ' Sir'));
}
String SayInFunction(name, {suffix : " Junior"}) => SayHello(name + suffix);
String SayHello(name, {suffix : " Senior"}) => ('Hello $name $suffix');
这是回报:
Hello Joe Sir Senior
为什么我认为它应该是错的:
Hello Joe Sir
PS:如果它与$符号有关,我应该如何重组SayHello函数以返回' Hello Joe Sir' ?
答案:
String SayInFunction(name, {suffix : " Junior"}) => SayHello(name, suffix: suffix);
答案 0 :(得分:2)
您需要致电SayHello(name, suffix: suffix);
以获得所需的结果
您有效地致电SayHello('Joe Sir')
并且因为您没有提供后缀SayHello
,则会使用默认' Senior'