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
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
Angular核心特性
大漠穷秋 2017-05-13UserList AddUser 单向数据流 https://github.com/modern-javascript/angular2-data-flow 实际项目中的组件树 不可变数据类型 组件树生成器 https://github.com/manekinekko/angular2-dependencies-graph 第二个核心概念:NgModule Component 如果没有Router,你将无法把URL拷贝并分享给你的朋友 Angular应用中路由形成的Tree形结构 Angular路由用法:静态路由 Angular路由用法:异步路由 Angular路由用法:路由守卫 防止未授权访问 第三块:Angular架构特色 依赖注入 依赖注入 Parent Injector Child Injector 注射器(Injector) 也是一个树型结构0 码力 | 52 页 | 2.50 MB | 1 年前3
TypeScript Handbook(中文版)
TypeScript 1.7 TypeScript 1.6 TypeScript 1.5 TypeScript 1.4 TypeScript 1.3 TypeScript 1.1 手册 基础类型 变量声明 TypeScript Handbook(中文版) 1 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig.json NPM包的类型 TypeScript js也 宣布使用TypeScript做新版本的开发。 那么TypeScript究竟为何物?又有什么 魅力呢? TypeScript是Microsoft公司注册商标。 TypeScript具有类型系统,且是JavaScript的超集。 它可以编译成普通的JavaScript 代码。 TypeScript支持任意浏览器,任意环境,任意系统并且是开源的。 TypeScript目前还在积极的开0 码力 | 557 页 | 7.48 MB | 1 年前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 ECMAScript 变量是弱类型的 在学习高级编程语言的过程中,最先接触的,也是最重要的概念应该就是变量了。所谓“变 量”,一般意义上理解就是程序中用于存储数据信息的容器,或者也可以理解为用于替代数据 信息的符号。 ECMAScript 规范中定义的变量既可以存储数据信息,也可以定义为替代表达式的符号。 一般都是通过“var”关键字来定义变量,且定义的均是无特定类型的变量(也称为弱类型)。 因此,ECMAScript 因此,ECMAScript 变量可以初始化为任意类型的值,且可以随时改变变量的数据类型。当然, 我们不建议随意改变变量的数据类型,建议初始化成什么类型就一直沿用该类型,避免不必要 的麻烦。 2.2.2 变量的声明 ECMAScript 规范中规定通过“var”(单词 variable 的缩写)关键字来定义声明的变量, 当然也可以不使用“var”关键字。一般使用“var”关键字定义的是局部变量,而不使用“var” 关于【代码 2-1】的分析如下: 第 02~03 行代码通过“var”关键字分别定义了两个变量(i 和 j),并进行了初始化赋值 操作。注意,这里赋的值均是整数类型,因为 ECMAScript 变量弱类型的特点,所以解释程序 会自动为变量创建整数值; 第 04 行代码通过“var”关键字定义了一个变量表达式(var s = i + j;),而表达式中的变 量“i”和“j”正是第0 码力 | 52 页 | 3.83 MB | 1 年前3
ECMAScript规范 第三版 中文版........................................................................................12 4.3.1 类型 .................................................................................................. ..............................................................................13 4.3.10 Undefined 类型................................................................................................... ...................................................................................13 4.3.12 Null 类型...................................................................................................0 码力 | 58 页 | 563.06 KB | 1 年前3
阮一峰 JavaScript 教程目 录 致谢 介绍 前言 入门篇 导论 历史 基本语法 数据类型 概述 null,undefined 和布尔值 数值 字符串 对象 函数 数组 运算符 算术运算符 比较运算符 布尔运算符 二进制位运算符 其他运算符,运算顺序 语法专题 数据类型的转换 错误处理机制 编程风格 console 对象与控制台 标准库 Object 对象 属性描述对象 语言(Smalltalk 的一种变种)。 正则表达式:借鉴 Perl 语言。 字符串和数组处理:借鉴 Python 语言。 为了保持简单,这种脚本语言缺少一些关键的功能,比如块级作用域、 模块、子类型(subtyping)等等,但是可以利用现有功能找出解决 办法。这种功能的不足,直接导致了后来 JavaScript 的一个显著特 点:对于其他语言,你需要学习语言的各种功能,而对于 Java 而设计的。但 是,JavaScript 没有采用 Java 的静态类型。正是因为 JavaScript 与 Java 有很大的相似性,所以这门语言才从一开始的 LiveScript 改名为 JavaScript。基本上,JavaScript 这个名 字的原意是“很像Java的脚本语言”。 JavaScript 语言的函数是一种独立的数据类型,以及采用基于原型 对象(prototype)的继承链。这是它与0 码力 | 540 页 | 3.32 MB | 10 月前3
廖雪峰JavaScript教程目 录 致谢 JavaScript教程 1 JavaScript简介 2 快速入门 2.1 基本语法 2.2 数据类型和变量 2.3 字符串 2.4 数组 2.5 对象 2.6 条件判断 2.7 循环 2.8 Map和Set 2.9 iterable 3 函数 3.1 函数定义和调用 3.2 变量作用域 3.3 方法 3.4 高阶函数 3.4.1 map/reduce 2.2 数据类型和变量 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是, 计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数 据,需要定义不同的数据类型。在JavaScript中定义了以下几种数据类型: JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型: 1. 123; 10.5 % 3; // 1.5 注意 % 是求余运算。 字符串是以单引号'或双引号"括起来的任意文本,比如 'abc' , "xyz" 等等。请注 数据类型和变量 数据类型 Number 字符串 2.2 数据类型和变量 - 16 - 本文档使用 书栈(BookStack.CN) 构建 意, '' 或 "" 本身只是一种表示方式,不是字符串的一部分,因此,字符串 'abc'0 码力 | 264 页 | 2.81 MB | 10 月前3
Hello 算法 1.1.0 Dart版3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 免歧义。 ‧ 当涉及编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行0 码力 | 378 页 | 18.45 MB | 1 年前3
共 50 条
- 1
- 2
- 3
- 4
- 5













