剩余参数 对于变长参数的函数,在 JavaScript 中可以这么定义: function sum(...numbers) { let sum = 0; for (let number of numbers) { sum += number; } return sum; } console.log(sum(1, 2, 3)); console.log(sum()); // 6 // 0 可以在变长参数前添加若干确定的参数: function display(message, …
剩余参数 对于变长参数的函数,在 JavaScript 中可以这么定义: function sum(...numbers) { let sum = 0; for (let number of numbers) { sum += number; } return sum; } console.log(sum(1, 2, 3)); console.log(sum()); // 6 // 0 可以在变长参数前添加若干确定的参数: function display(message, …
导入导出 如果一个 JS 脚本要使用另一个 JS 脚本中的内容,需要导出: export default function hello() { return 'hello world'; } 然后导入: import hello from './hello.js'; console.log(hello()); 这里的export default是默认导出,可以使用import xxx from导入默认导出的内容。 如果报错,可以将tsconfig.json中的verbatimModuleSyntax选项修改为…
类成员 字段 创建一个没有任何属性的类: class Point{} const point = new Point(); 添加属性: class Point2{ x: number; // 报错 y: number; // 报错 } TS 会进行检测,要求属性必须初始化,否则会报错: class Point2{ // 创建类 x: number = 0; // 创建属性 y: number = 0; // 创建属性 } 直接初始化时,可以省略类型声明,因为 TS 的编译器可以自动推断…
泛型 泛型函数 定义一个泛型函数: function returnParameter<T>(param: T): T { return param; } 调用函数: returnParameter<string>('hello'); 调用泛型函数时并不是一定要指定泛型类型,也可以省略泛型类型,让 TS 编译器根据实际参数的类型推断: returnParameter('world'); 但有时候遇到复杂的调用,TS 无法正确推断出泛型类型,就需要手动指定。 泛型函数类型 在 TS 中,可以用…
可以为对象类型的参数添加注解以规范对象定义: function printUser(user: { name: string, age: number }): void { console.log("姓名:" + user.name + ",年龄:" + user.age); } printUser({name:"icexmoon",age:15}); 对象类型也可以用类型别名定义: type Person = { name: string, age: number }; function printUser…
函数类型表达式 可以用函数类型表达式表示一个函数的类型: function greeter(fn: (a: string) => void) { fn("Hello, World"); } function printToConsole(s: string) { console.log(s); } greeter(printToConsole); 这里的函数类型表达式(a: string) => void表示一个函数,它接收一个string类型名称为a的参数,且没有返回值。 需要注意…
在前篇文章中,提到过在使用联合类型时可能需要进行类型缩小,比如: function concatStr(prefix: string | number, context: string) { if (typeof prefix === "number") { // 如果前缀是数字,返回若干个空格和字符串拼接的结果 return " ".repeat(prefix) + context; } // 如果前缀是字符串,直接拼接后返回 return prefix + co…
在系统学习 TypeScript 前,需要先部署开发环境,具体可以查看TypeScript 简易指南。 基本类型 TypeScript 与 JavaScript 一样,常见的基本类型有: let name: string = "张三"; console.log(name.toUpperCase()); let age: number = 42; console.log(age.toFixed(2)); let isOk: boolean = true; console.log(isOk.valueOf())…
TypeScript 是 JavaScript 的超集,在 JavaScript 之上添加了类型检查等功功能,在运行时依然需要编译成 JavaScript 代码后运行。 环境准备 使用 TypeScript 需要先安装 Node.js 环境。 全局安装 ts: ❯ npm install -g typescript 需要管理员权限,否则会安装失败。 项目初始化 打开项目根目录,执行 tsc --init,在项目根目录下会生成一个tsconfig.json文件。其中比较重要的配置项: { "target": "ES…
ShallowRef 一个简单示例: <template> <div> <h2>count:{{ count }}</h2> <h2>person:{{ person }}</h2> <button @click="count++">count++</button> <button @click="person.name='李四'">修改名字<…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由
提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang