TypeScript 4.0 使用手册
BookStack.CN 构建 11. myCoolFunction(function(x) { console.log(x) }, 1, 2, 3, 4); 这种情况下,我们需要利用TypeScript的函数重载来告诉调用者 myCoolFunction 函数的调用方 式。 1. function myCoolFunction(f: (x: number) => void, nums: number[]): arr = arguments[1]; 7. // ... 8. } 9. // ... 10. } 我们为 myCoolFunction 函数添加了两个重载签名。 第一个检查 myCoolFunction 函数是否接收 一个函数(它又接收一个 number 参数)和一个 number 数组。 第二个同样是接收了一个函数,并 且使用剩余参数( myDeck = [{ suit: "diamonds", card: 2 }, { suit: "spades", card: 10 }, { suit: "hearts", card: 4 }]; 重载 函数 - 141 - 本文档使用 书栈网 · BookStack.CN 构建 18. let pickedCard1 = myDeck[pickCard(myDeck)]; 19. alert("card:0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript Handbook(中文版)
2, 3, 4]); myCoolFunction(function(x) { console.log(x) }, 1, 2, 3, 4); 这种情况下,我们需要利用TypeScript的函数重载来告诉调用 者 myCoolFunction 函数的调用方式。 function myCoolFunction(f: (x: number) => void, nums: number[]): } // ... } TypeScript Handbook(中文版) 96 从JavaScript迁移到TypeScript 我们为 myCoolFunction 函数添加了两个重载签名。 第一个检 查 myCoolFunction 函数是否接收一个函数(它又接收一个 number 参数)和一 个 number 数组。 第二个同样是接收了一个函数,并且使用剩余参数 ( 对象有一个返回 Iterator 对象的 Symbol.iterator 方法,那么我们说这个对象 是“可迭代的”。 迭代器协议还定义了一些ES2015中的特性像 for..of 和展开运算符以及解构赋值 中的数组的剩余运算的操作对象。 生成器 ES2015也引入了"生成器",生成器是可以通过 Iterator 接口和 yield 关键字被 用来生成部分运算结果的函数。生成器也可以在内部通过0 码力 | 557 页 | 7.48 MB | 1 年前3
阮一峰 JavaScript 教程介绍 前言 入门篇 导论 历史 基本语法 数据类型 概述 null,undefined 和布尔值 数值 字符串 对象 函数 数组 运算符 算术运算符 比较运算符 布尔运算符 二进制位运算符 其他运算符,运算顺序 语法专题 数据类型的转换 错误处理机制 编程风格 console 对象与控制台 标准库 Object 对象 属性描述对象 Array CN) 构建 基本语法 JavaScript 的基本语法 语句 变量 概念 变量提升 标识符 注释 区块 条件语句 if 结构 if…else 结构 switch 结构 三元运算符 ?: 循环语句 while 循环 for 循环 do…while 循环 break 语句和 continue 语句 标签(label) 参考链接 JavaScript 程序的执行单位为行(line),也就是一行一行地执 书栈(BookStack.CN) 构建 等运算符( === )和相等运算符( == )。尤其是赋值表达式不具有 比较作用。 1. var x = 1; 2. var y = 2; 3. if (x = y) { 4. console.log(x); 5. } 6. // "2" 上面代码的原意是,当 x 等于 y 的时候,才执行相关语句。但是, 不小心将严格相等运算符写成赋值表达式,结果变成了将0 码力 | 540 页 | 3.32 MB | 10 月前3
阮一峰 《ECMAScript 6入门》 第三版ES2015)。2016年6月,小幅修订的《ECMAScript 2016标 准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异 非常小(只新增了数组实例的 includes 方法和指数运算符),基本上是同一个标 准。根据计划,2017年6月发布 ES2017 标准。 因此,ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的 JavaScript 的 下一代标准,涵盖了E undeclared_variable // "undefined" 上面代码中, undeclared_variable 是一个不存在的变量名,结果返 回“undefined”。所以,在没有 let 之前, typeof 运算符是百分之百安全的,永 远不会报错。现在这一点不成立了。这样的设计是为了让大家养成良好的编程习 惯,变量一定要在声明之后使用,否则就报错。 有些“死区”比较隐蔽,不太容易发现。 function 'b'] = ['a']; // x='a', y='b' let [x, y = 'b'] = ['a', undefined]; // x='a', y='b' 注意,ES6 内部使用严格相等运算符( === ),判断一个位置是否有值。所以, 如果一个数组成员不严格等于 undefined ,默认值是不会生效的。 let [x = 1] = [undefined]; x // 1 let0 码力 | 679 页 | 2.66 MB | 1 年前3
TypeScript 类型系统TypeScript 变量声明空间(值空间) 12 变量声明空间包含可用作变量的内容 class既属于类型声明空间,也属于变量声明空间 普通的变量/常量不能用作类型注解 TypeScript 函数重载 13 1. TypeScript类型信息只存在于编译期,不会带到运行期 2. TypeScript要与JavaScript兼容 TypeScript 接口 14 接口合并 接口继承 类实现接口 此处shape为Circle类型 TypeScript 泛型编程 19 泛型函数 泛型类 TypeScript 泛型编程 20 条件泛型 TypeScript 泛型编程 21 infer运算符在extends条件语句中表示待推测的类型量 TypeScript 泛型编程 22 其他的Utility Type工具类型…… StaticScript | 仿TypeScript静态类型编程语言0 码力 | 25 页 | 1.27 MB | 1 年前3
Vue.js v3.0 教程(Vue3 教程)添加到项目中有三种主要方式。 1. 在页面上以 CDN package 的形式导入。 2. 使用 npm 安装它。 3. 使用官方的 CLI 来构建一个项目,它为现代前端工作流程提供了功能齐备的构建设置 (例如, 热重载、保存时的提示等等)。 最新版本: npm@next npm@next v3.0.2 v3.0.2 每个版本的详细发行说明可在 GitHub (opens new window) 上找到。 (opens new window),为单页面应用 (SPA) 快速搭建繁杂的脚手 架。它为现代前端工作流提供了 batteries-included 的构建设置。只需要几分钟的时间就可以运 行起来并带有热重载、保存时 lint 校验,以及生产环境可用的构建版本。更多详情可查阅 Vue CLI 的文档 (opens new window)。 TIP CLI 工具假定用户对 Node.js 和相关构 event.preventDefault() 7. } 8. alert(message) 9. } 10. } 事件处理程序中可以有多个方法,这些方法由逗号运算符分隔: 1. 2.0 码力 | 368 页 | 3.97 MB | 1 年前3
ECMAScript规范 第三版 中文版URIError(唯一资源定位符错误)。 ECMAScript 还定义了一个内置运算符(operators)集合。严格地说,它们可能不是函数或方 法。ECMAScript 运算符包含了各种各样的操作:乘法运算符,加法运算符,位移运算符,关系 运算符,相等关系运算符,二元位操作运算符,二元逻辑运算符,分配运算符,逗号运算符。 ECMAScript 语法被特意设计成类似 Java 的语法。ECMAScript 行结束符、注释或空白中的一个。源代码文本被从左到右扫描,重复地把最长的可能的 字符序 列作为下一个输入元素。 词法文法中有两个目标符。符号输入分隔元素在其它语法文法中上下文中可以是一个除号 (/) 或除法赋值(/=)运算符。符号输入元素正则表达式在其它语法文法上 下文中使用。 需要注意的是,除号和正则表达式常量存在于语法文法中的上下文中,且都被语法文法允 许;不论如 何,在斜线号不被识别为正则表达式常量的开始这一情况下,词法文法使用输入分 opt ; Throw 语句 : throw [no 行结 束符 here] 表达式 ; 这些非严格产生式的实际效果如下所示: • 若遇到托肯 ++ 或 -- ,解析器将视其为一个后缀运算符时,且在提前托肯与托肯 ++ 或 -- 之间有至少一个行结束符,则在托肯 ++ 或 -- 前自动插入一个分号。 • 若遇到托肯 continue, break, return, 或 throw,且在下一个托肯之前遇到一个0 码力 | 58 页 | 563.06 KB | 1 年前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 1.2 区分大小写 ECMAScript 语法规定对字母大小写是敏感的,也就是区分大小写的,这点是与 Java 语法 一致的。ECMAScript 语法区分大小写的规定适用于变量、函数名、运算符及其他一切代码。 比如变量 id 与 Id 是不同的;同样,函数 getElementById()与 getElementbyID()也是不同的,而 且 getElementbyID()是无效函数。 的一个集合”,其中每种原始类型均定义了其所包含值的范围及其字面量的表示形式。 ECMAScript 语法提供“typeof”运算符来判断一个值是否在某种类型的范围内。设计人 员不但可以用该运算符判断一个值是否表示一种原始类型,还可以判断出其具体表示哪种原始 类型。在 JS 脚本中使用“typeof”运算符将返回下列值之一: � undefined:如果变量是 Undefined 类型的会返回该类型; � 型在页面中的输出结果; 第 03 行代码直接在浏览器控制台窗口中输出了“typeof undefined”,目的是看一下通过 “typeof”运算符操作后的 Undefined 类型在页面中的输出效果。 页面效果如图 2.5 所示。Undefined 类型和通过“typeof”运算符操作后的 Undefined 类型, 在控制台中的输出结果均是“undefined”。 图 2.5 Undefined0 码力 | 52 页 | 3.83 MB | 1 年前3
廖雪峰JavaScript教程true || false; // 这个||语句计算结果为true 3. false || true || false; // 这个||语句计算结果为true ! 运算是非运算,它是一个单目运算符,把 true 变成 false , false 变成 true : 1. ! true; // 结果为false 2. ! false; // 结果为true 3. ! (2 > 5); 当我们对Number做比较时,可以通过比较运算符得到一个布尔值: 1. 2 > 5; // false 2. 5 >= 2; // true 3. 7 == 7; // true 实际上,JavaScript允许对任意数据类型做比较: 1. false == 0; // true 2. false === 0; // false 要特别注意相等运算符 == 。JavaScript在设计时,有两种比较运算符: 第一种是 小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值: 1. Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true 比较运算符 null和undefined 2.2 数据类型和变量 - 18 - 本文档使用 书栈(BookStack.CN) 构建 null 表示一个“空”的值,它和 0 以及空字符串 '' 不同,0 码力 | 264 页 | 2.81 MB | 10 月前3
Hello 算法 1.1.0 Dart版性能可能劣化,因此被视为负面属性;而如果最佳时间复杂度优于平均时间复杂度,则被视为正面属性。 是否基于比较:基于比较的排序依赖比较运算符(<、=、>)来判断元素的相对顺序,从而排序整个数组, 理论最优时间复杂度为 ?(? log ?) 。而非比较排序不使用比较运算符,时间复杂度可达 ?(?) ,但其通用性 相对较差。 11.1.2 理想排序算法 运行快、原地、稳定、正向自适应、通用性好。显然 ?? 表的尺寸为 (? + 1) × (??? + 1) 。 第二步:找出最优子结构,进而推导出状态转移方程 本题与完全背包问题的状态转移方程存在以下两点差异。 ‧ 本题要求最小值,因此需将运算符 max() 更改为 min() 。 ‧ 优化主体是硬币数量而非商品价值,因此在选中硬币时执行 +1 即可。 ??[?, ?] = min(??[? − 1, ?], ??[?, ? − ??? 出目标金额,因此使 用 ??? + 1 来表示“无法凑出目标金额”的无效解。 ‧ 零钱兑换问题 II 从求“最少硬币数量”改为求“硬币组合数量”,状态转移方程相应地从 min() 改为 求和运算符。 编辑距离问题 ‧ 编辑距离(Levenshtein 距离)用于衡量两个字符串之间的相似度,其定义为从一个字符串到另一个 字符串的最少编辑步数,编辑操作包括添加、删除、替换。 ‧ 编辑距离问题的状态定义为将0 码力 | 378 页 | 18.45 MB | 1 年前3
共 28 条
- 1
- 2
- 3













