![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
typescript(持续更新中...)
文章平均质量分 87
typescript
chtazy
这个作者很懒,什么都没留下…
展开
-
typescript——15.命名空间和模块
这篇文章将概括介绍在TypeScript里使用模块与命名空间来组织代码的方法。我们也会谈及命名空间和模块的高级使用场景,和在使用它们的过程中常见的陷阱。查看模块章节了解关于模块的更多信息。查看命名空间章节了解关于命名空间的更多信息。原创 2024-04-03 10:35:02 · 891 阅读 · 0 评论 -
typescript——16.模块解析
这节假设你已经了解了模块的一些基本知识 请阅读文档了解更多信息。模块解析是指编译器在查找导入模块内容时所遵循的流程。假设有一个导入语句;为了去检查任何对a的使用,编译器需要准确的知道它表示什么,并且需要检查它的定义moduleA。这时候,编译器会有个疑问“moduleA的结构是怎样的?” 这听上去很简单,但moduleA可能在你写的某个.ts.tsx文件里或者在你的代码所依赖的.d.ts里。首先,编译器会尝试定位表示导入模块的文件。编译器会遵循以下二种策略之一:Classic或Node。原创 2024-04-03 10:22:57 · 828 阅读 · 0 评论 -
typescript——21.三斜线指令
三斜线指令是包含。。三斜线指令仅可放在包含它的文件的最顶端。一个三斜线指令的前面只能出现单行或多行注释,这包括其它的三斜线指令。如果它们出现在一个语句或声明之后,那么它们会被当做普通的单行注释,并且不具有特殊的涵义。原创 2024-04-03 10:02:55 · 769 阅读 · 0 评论 -
typescript——20.Mixins
除了传统的面向对象继承方式,还流行一种通过可重用组件创建类的方式,就是联合另一个简单类的代码。你可能在Scala等语言里对mixins及其特性已经很熟悉了,但它在JavaScript中也是很流行的。原创 2024-04-03 09:54:47 · 126 阅读 · 0 评论 -
typescript——17.声明合并
TypeScript中有些独特的概念可以在类型层面上描述JavaScript对象的模型。这其中尤其独特的一个例子是“声明合并”的概念。理解了这个概念,将有助于操作现有的JavaScript代码。同时,也会有助于理解更多高级抽象的概念。原创 2024-04-03 09:51:43 · 728 阅读 · 0 评论 -
typescript——11.Symbols
自ECMAScript 2015起,symbol成为了一种新的原生类型,就像number和string一样。symbol类型的值是通过Symbol构造函数创建的。Symbols是不可改变且唯一的。像字符串一样,symbols也可以被用做对象属性的键。Symbols也可以与计算出的属性名声明相结合来声明对象的属性和类成员。原创 2024-04-03 08:47:30 · 369 阅读 · 0 评论 -
typescript——14.命名空间
这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码。就像我们在术语说明里提到的那样,“内部模块”现在叫做“命名空间”。另外,任何使用 module关键字来声明一个内部模块的地方都应该使用namespace关键字来替换。这就避免了让新的使用者被相似的名称所迷惑。原创 2024-04-01 10:31:31 · 638 阅读 · 0 评论 -
typescript——13.模块
从ECMAScript 2015开始,JavaScript引入了模块的概念。TypeScript也沿用这个概念。模块在其自身的作用域里执行,而不是在全局作用域里这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你明确地使用export形式之一导出它们。相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,你必须要导入它们,可以使用import形式之一。模块是自声明的两个模块之间的关系是通过在文件级别上使用imports和exports建立的。模块使用模块加载器去导入其它的模块。原创 2024-04-01 10:23:34 · 1004 阅读 · 0 评论 -
typescript——12.迭代器和生成器
本节可参考。原创 2024-04-01 09:34:29 · 261 阅读 · 0 评论 -
typescript——9.类型兼容性
TypeScript里的类型兼容性是基于的。结构类型是一种只使用其成员来描述类型的方式。它正好与名义(nominal)类型形成对比。(译者注:在基于名义类型的类型系统中,数据类型的兼容性或等价性是通过明确的声明和/或类型的名称来决定的。这与结构性类型系统不同,它是基于类型的组成结构,且不要求明确地声明。在使用基于名义类型的语言,比如C#或Java中,这段代码会报错,因为Person类没有明确说明其实现了Named接口。TypeScript的结构性子类型是根据JavaScript代码的典型写法来设计的。原创 2024-04-01 09:29:59 · 1080 阅读 · 0 评论 -
typescript——8.类型推论
这节介绍TypeScript里的类型推论。即,类型是在哪里如何被推断的。原创 2024-04-01 08:56:37 · 229 阅读 · 0 评论 -
typescript——7.枚举
使用枚举我们可以定义一些带名字的常量。使用枚举可以清晰地表达意图或创建一组有区别的用例。TypeScript支持数字的和基于字符串的枚举。原创 2024-03-30 15:10:45 · 1064 阅读 · 0 评论 -
typescript——6.泛型
软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。这样用户就可以以自己的数据类型来使用组件。原创 2024-03-30 10:41:51 · 842 阅读 · 0 评论 -
typescript——5.函数
我们可以给每个参数添加类型之后再为函数本身添加返回值类型。TypeScript能够根据返回语句自动推断出返回值类型,因此我们通常省略它。原创 2024-03-30 10:10:01 · 1005 阅读 · 0 评论 -
typescript——4.类
// ...) {}它可能看上去不像是有属性的类,但它确实有,利用的是 Typescript 提供的简写形式 — 用构造函数的参数直接定义属性。声明了一个构造函数参数及其类型声明了一个同名的公共属性当我们 new 出该类的一个实例时,把该属性初始化为相应的参数值。原创 2024-03-30 09:56:14 · 967 阅读 · 0 评论 -
typescript——3.接口
接口:约束、限制类型检查器会查看printLabel的调用。printLabel有一个参数,并要求这个对象参数有一个名为label类型为string的属性。需要注意的是,我们传入的对象参数实际上会包含很多属性,但是编译器只会检查那些必需的属性是否存在,并且其类型是否匹配。然而,有些时候TypeScript却并不会这么宽松,我们下面会稍做讲解。LabelledValue接口就好比一个名字,用来描述上面例子里的要求。它代表了有一个 label属性且类型为string的对象。原创 2024-03-29 13:43:48 · 1092 阅读 · 0 评论 -
typescript——1.基础类型
TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。原创 2024-03-29 13:42:08 · 670 阅读 · 0 评论