angular - ‘’是什么意思
嗨,我是 angular 和 typescript 的新手,我正在尝试学习 Angular 的教程。我发现了一些我不理解的内容,比如:
1.
getHeroes(): Observable<Hero[]> {
this.messageService.add('HeroService: fetched heroes');
console.log(this.http);
return this.http.get<Hero[]>(this.heroesUrl);
}
在上面的例子中,我想知道 <Hero[]> 在 Observable<Hero[]> 和 this.http.get<Hero[]>(this.heroesUrl) 中是什么意思
2.
getHero(id: number): Observable<Hero> {
this.messageService.add(`HeroService: fetched hero id=${id}`);
return of(HEROES.find(hero => hero.id === id));
}
仔细检查一下 HeroService: fetched hero id=$ {id} 它用反引号 (`) 包裹,而不是单引号 (')。为什么要用它?最后一个 HEROES.find(hero => hero.id === id) 中的 => 是什么意思?
我对此真的很陌生。所以,如果我的问题冒犯或触发你们,我非常抱歉..
谢谢你!
答案#1
方法 getHeroes() 返回一个 Hero 类型数组的 Observable。反引号(`)称为模板字符串。以前我们常写
let a = 10
b = 5 ;
console.log("value of a is" + a + " and the value of b is " + b);
使用模板字面量我们可以编写
console.log(`value of a is ${a} and value of b is ${b}`)
其中 $ {expression} 可用于绑定表达式。
=> 被称为胖箭头。
let example = function(str){
console.log(str)
}
现在可以用这种方式用胖箭头来写
let example = (str) =>{
console.log(str)
}
请查阅 ES6 的文档以获得更好的理解。模板字符串和箭头函数已在 ES6 中实现。
答案#2
Observable<Hero[]> 表示 getHeroes 方法返回一个 Observable,该 Observable 封装了类型为 Hero 的数据,其中 [] 表示一个数组;
`(反引号)在 JavaScript 中被称为 模板字符串
字面量中的表达式(其值在运行时进行求值并包含在字面量产生的最终值中)用前置美元符号 $和大括号 {} 括起来。
