TypeScript 类型系统TypeScript 类型系统 2 0 2 1 年 1 月 2 1 日 分 享 人 陈 文 岗 : 学 校 中国科学院大学 : 关于TypeScript 2 TypeScript是微软推出的JavaScript静态类型版本,它是 JavaScript的超集,可以编译为纯粹的JavaScript TypeScript 到 JavaScript 3 add.ts add.js add ts TypeScript 基础类型 4 TypeScript 高级类型 5 TypeScript 高级类型 6 TypeScript 高级类型 7 TypeScript 高级类型 8 TypeScript 特殊类型 9 TypeScript 结构类型系统 10 标明类型系统 即使两个类的结构完全一致,也不能互相赋值 结构类型系统 类型形状一致即可互相赋值 TypeScript TypeScript 类型声明空间 11 类型声明空间里包含用来当做类型注解的内容 类型不能赋给一个变量,也不能作为值进行传递(class除外) TypeScript 变量声明空间(值空间) 12 变量声明空间包含可用作变量的内容 class既属于类型声明空间,也属于变量声明空间 普通的变量/常量不能用作类型注解 TypeScript 函数重载 13 1. TypeScript类型信息只存在于编译期,不会带到运行期0 码力 | 25 页 | 1.27 MB | 1 年前3
5 刘知杭 静态类型的Python静态类型的Python Lyzh(刘知杭) 目录 CONTENTS 有关类型的概念 使用mypy对Python源 代码进行静态分析 代数数据类型 拓展知识 关于类型的一些基本概念 有类型不等于有类型系统 动态语言类型化的必要性 不久前的一个案例 正文 类型的概念 CPython定义了PyObject这个 结构体作为对象头。 CPython中的类型,是指在对 象头中指向类型元信息的指针。 象头中指向类型元信息的指针。 CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 类型系统是什么? 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时 不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 ime)的类型推导检查规则。 类型系统就是一种轻量级的形式化方法,它通常被植入编译器或程序分析器中进行自动校验。 从而让那些不熟悉底层理论的程序员也可以使用它们。 这类轻量级技术中还包括模型检测(Model checking),运行时验证(Runtime verification)和类型系统(Type system)等等。其中类型系统最流行,发展最完善。 在计算机科学中,形式化方法(Formal0 码力 | 42 页 | 6.87 MB | 1 年前3
基本数据类型基本数据类型 主讲人:龙良曲 All is about Tensor python PyTorch Int IntTensor of size() float FloatTensor of size() Int array IntTensor of size [d1, d2 ,…] Float array FloatTensor of size [d1, d2, …] string0 码力 | 16 页 | 1.09 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型现代编程思想 多元组,结构体与枚举类型 Hongbo Zhang 1 基础数据类型:多元组与结构体 2 回顾:多元组 多元组:固定⻓度的不同类型数据的集合 定义: (<表达式>, <表达式>, ...) 类型: (<表达式类型>, <表达式类型>, ...) 例如: 身份信息: ("Bob", 2023, 10, 24): (String, Int, Int, Int) 成员访问: (2023, 10, 24).0 == 2023 列表:任意⻓度的相同类型数据的集合 例如: 字符的序列: Cons('H', Cons('i', Cons('!', Nil))) Cons : construct 的缩写 3 笛卡尔积 ⼀个多元组类型的元素即是每个组成类型的元素构成的有序元素组 集合的笛卡尔积,⼜称积类型 例:扑克牌的所有花⾊:{ } 4 结构体 元组的问题在于,难以理解其所代表的数据 address: String; postal: Int } 通过名称,我们能明确数据的信息以及对应字段的含义 5 结构体的定义 结构体的定义形如 struct <结构体名称> { <字段名>: <类型> ; ... } struct PersonalInfo { name: String; age: Int} 定义结构体的值时,形如 { <字段名>: <值> , ... } let info:0 码力 | 26 页 | 435.86 KB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型从稀疏数据结构到量化数据类型 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 本课涵盖:稀疏矩阵、 unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 >> 3 。 >> 2 = 位运算 >> 对负数的处理 signed 类型的 >> n 会把最高位复制 n 次。 因为补码的特性,这导致负数 >> 的结果仍是负 数。 这样就实现了和 Python 一样的始终向下取整除 法。 >> 2 = unsigned 类型的位运算 >> 不一样 而 unsigned 类型的 >> n 会不会复制最高位, 只是单纯的位移,这会导致负数的符号位单独被位 只是单纯的位移,这会导致负数的符号位单独被位 移,补码失效,造成结果不对。 unsigned 类型的 >> 会生成 shr 指令, signed 类型的 >> 会生成 sar 指令。 我们需要负方向无限延伸的稀疏数据结果,那就只 要 signed 那个就行。 >> 2 = 没有重合时可以用高效的加法:位运算 | • 如果可以保证 a 和 b 满足 a & b = 0 , 如: • 1011000 和 00001100 码力 | 102 页 | 9.50 MB | 1 年前3
Rust 程序设计语言简体中文版........................................................................................ 43 3.2. 数据类型 .................................................................................................. .................................................................................... 84 4.3. Slice 类型 .................................................................................................. ................................................................................... 204 10.1. 泛型数据类型 ..................................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2. 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.3. Slice 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 10.1. 泛型数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 24 天前3
TypeScript 4.0 使用手册
从JavaScript迁移到TypeScript 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack BookStack.CN 构建 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践 深入 模板 发布 使用 工程配置 tsconfig.json 工程引用 NPM包的类型 编译选项 配置 Watch 在MSBuild里使用编译选项 与其它构建工具整合 使用TypeScript的每日构建版本 Wiki TypeScript里的this 编码规范 welcome TypeScript 4.0 (August 20, 2020) | 版本发布说明 ✔ TypeScript语言用于大规模应用的JavaScript开发。 ✔ TypeScript支持类型,是 JavaScript的超集且可以编译成纯JavaScript代码。 ✔ TypeScript兼容所有浏览器,所有宿主 环境,所有操作系统。 ✔ TypeScript是开源的。 一大0 码力 | 683 页 | 6.27 MB | 1 年前3
[试读] Angular 5 高级编程...........79 5.5 使用变量和类型.......................80 5.6 使用 JavaScript 操作符.............84 5.6.1 使用条件语句.....................84 5.6.2 相等操作符和恒等操作符....85 5.6.3 显式类型转换.....................86 ...100 6.4 有用的 TypeScript 特性 ..........103 6.4.1 使用类型注解...................103 6.4.2 使用元组 .........................109 6.4.3 使用可索引类型 ...............109 6.4.4 使用访问修饰符 ...............110 .................148 8.3.2 创建和应用路由配置.........150 8.3.3 应用程序导航...................151 8.3.4 守卫路由.........................154 8.4 完成购物车详情功能 .............156 8.5 处理订单........................0 码力 | 42 页 | 6.14 MB | 1 年前3
Nim 2.0.2 中文手册"地址"组件构成的内存。 变量本质上是地址的名称,每个变量和地址都有特定 的 type "类型",变量的类型被称为 static type "静态类型", 地址的类型被称为 dynamic type "动态类型"。如果静态类型与动态类 型不相同,它就是动态类型的⽗类或⼦类。 identi�er "标识符"是变量、类型、过程等的名称声明符号,⼀个声明所适⽤的程序区域被称为该声明的 scope "作⽤域", syntax tree (AST) "抽象语法树"的内部数据结构,在执⾏代码或将其编译为可执⾏⽂件之 前,通过 semantic analysis "语义分析"对AST进⾏转换,增加了语义信息,如表达式类型、标识符的含义,以及在某些情况下表达 式的值。在语义分析中检测到的错误被称为 static error "静态错误",当前⼿册中描述的错误在没有其他约定时,就是静态错误。 panic "恐慌"是在 txt") # 是原始字符串, 所以 ``\t`` 不是制表符 r"a""b" a"b 原由:为了能够有效地⽀持 array[char, int] 和 set[char] 。 Rune 类型可以代表任何 Unicode 字符。 Rune 声明在 unicode 模块 (unicode.html)中。 如果前⾯有⼀个反引号 Token,则不以 ' 结尾的字符字⾯值被解释为 ' 。0 码力 | 127 页 | 7.05 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













