gpt4 book ai didi

JavaScript 类似模板的语句

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

我是一名 C++ 开发人员,我正在努力掌握 JavaScript。我在 JavaScript 中遇到了一种语法,但找不到任何相关文档。

它与 C++ 中的模板语法相同。这是我从阅读 RxJs 教程中获得的一个示例。

const subject = new Subject<number>();

有人可以向我解释一下 JavaScript 语言的特性是什么吗?在 C++ 中,“Subject”是一个模板类,“number”是一个类型参数。

如果我在 google 上搜索“JavaScript 模板”,则会出现其他内容,例如 JavaScript 模板化字符串。

顺便说一句,我发现 JavaScript 很难掌握。我目前正在阅读一本书“Eloquent JavaScript”,我在那本书中找不到任何提及该语法的内容。有人可以给我推荐一些更好的 JavaScript 学习 Material 吗?

最佳答案

这不完全是 JavaScript,而是 TypeScript,你看到的是 generic ,仅 TS 的一个功能。简而言之(因为有很多有待发现),JS 没有输入

class Subject {
constructor() {
this.foo = null;
}
}

const subject = new Subject();
subject.foo = 'foo'; // ok
subject.foo = 42; // ok

而 TS 是 JavaScript 的超集,允许输入以便在编译时捕获潜在的错误:

class Subject {
foo: number;
constructor() {
this.foo = 42;
}
}

const subject = new Subject();
subject.foo = 'foo'; // invalid TS, because subject.foo must be a number, not a string

TS 泛型允许以更灵活和可重用的方式定义类型:

class Subject<T> {
foo: T;
constructor() {
this.foo = null;
}
}

const subject = new Subject<number>();
subject.foo = 42; // ok, because 42 is a number
subject.foo = 'foo'; // not ok, 'foo' is a string
const anotherSubject = new Subject<string>();
subject.foo = 'foo'; // ok

关于JavaScript 类似模板的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59201118/

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