TypeScript 真香系列——接口篇
接口带来了什么好处
好处One —— 过去我们写 JavaScript
JavaScript 中定义一个函数,用来获取一个用户的姓名和年龄的字符串:
const getUserInfo = function(user) {
return name: ${user.name}, age: ${user.age}
}
函数调用:
getUserInfo({name: "koala", age: 18})
这对于我们之前在写 JavaS ...
【vue&ts开发】Vue 3.0前的 TypeScript 最佳入门实践
1、使用官方脚手架构建
新的 VueCLI工具允许开发者 使用 TypeScript 集成环境 创建新项目。
只需运行 vue createmy-app。
然后,命令行会要求选择预设。使用箭头键选择 Manuallyselectfeatures。
接下来,只需确保选择了 TypeScript和 Babel选项,如下图:
完成此操作后,它会询问 ...
.NET手撸绘制TypeScript类图——下篇
.NET手撸绘制TypeScript类图——下篇
在上篇的文章中,我们介绍了如何使用.NET解析TypeScript,这篇将介绍如何使用代码将类图渲染出来。
注:以防有人错过了,上篇链接如下:https://www.cnblogs.com/sdflysha/p/20191113-ts-uml-with-dotnet-1.html
类型定义渲染
不出意外,我们继续使用FlysEngine。虽然文字排版没做过, ...
彻底解决 TypeScript 报错:“无法重新声明块范围变量”的问题
背景
当使用 TypeScript + TSlint + Babel + Jest 搭建开发环境时,在开发过程中偶尔会被 IDE 提示「无法重新声明块范围变量」,从而导致编译出错,报错图示如下:
相关开发环境配置如下:
typescript: ^3.5.3
tslint: ^5.19.0
babel: ^7.0.0
jest: ^24.9.0
ts-jest: ^24.0.2
解决方案
之所以 tslint 会提示这个错误, ...
.NET手撸绘制TypeScript类图——上篇
.NET手撸绘制TypeScript类图——上篇
近年来随着交互界面的精细化,TypeScript越来越流行,前端的设计也越来复杂,而类图正是用简单的箭头和方块,反映对象与对象之间关系/依赖的好方式。许多工具都能生成C#类图,有些工具也能生成TypeScript类图,如tsuml,但存在一些局限性。
我们都是.NET开发,为啥不干脆就用.NET撸一个 ...
TypeScript vs. C#: LINQ
TypeScript vs. C#: LINQ
TypeScript 没有等效于 LINQ 的语言集成自然查询方面?不能在 TypeScript 中写入以下 LINQ 语句
1
var adultUserNames = from u in users where u.Age >= 18 select u.Name;
但是,位于 LINQ 核心的 iE6<T>扩展 ...
TypeScript入门八:TypeScript的命名空间
初识命名空间(namespace指令)
命名空间与文件拆分
多重命名空间与三斜杠指令引入依赖文件
一、初识命名空间(namespace指令)
TypeScript的命名空间可以说就是ES6的模块化,其编译的ES5代码都是基于闭包将局部变量暴露给外部,作为外部一个对象的属性提供给外部作用域使用。先来看一个最简单的示例:
1 namespac ...
TypeScript 解构
⒈解构数组
最简单的解构莫过于数组的解构赋值了:
let input = [1, 2];
let [first, second] = input;
console.log(first); // outputs 1
console.log(second); // outputs 2
这创建了2个命名变量 first 和 second。 等价于下面使用了索引的代码,但更为方便:
first = input[0];
second = inpu ...
TypeScript的类型
⒈TypeScript的类型
JavaScript语言的数据类型包括以下7种:
1.boolean(布尔),true || false
2.null,表明null值得特殊关键字,JavaScript是大小写敏感的,不要误写成Null或者NULL
3.undefined,变量未定义时的属性
4.number,表示数字,例如1、1.2等等
5.string,表示字符 ...
TypeScript入门七:TypeScript的枚举
关于枚举
数字枚举
字符串枚举
异构枚举
计算的和常量成员
运行时的枚举与反向映射
常量枚举与外部枚举
一、关于枚举
枚举:一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。
在定义中可以看到这些关键词:有穷序列集、成员、类型对象、计数。
在这些关键字中可以了解到枚举是一 ...
TypeScript vs. C#: LINQ
TypeScript vs. C#: LINQ
TypeScript 没有等效于 LINQ 的语言集成自然查询方面?不能在 TypeScript 中写入以下 LINQ 语句
var adultUserNames = from u in users where u.Age >= 18 select u.Name;
但是,位于 LINQ 核心的 iE6<T>扩展方法在 TypeScript 中具有等效项(或可以模拟)。
Aggregate
All
Any
Append
Avera ...
TypeScript入门三:TypeScript函数类型
TypeScript函数类型
TypeScript函数的参数
TypeScript函数的this与箭头函数
TypeScript函数重载
一、TypeScript函数类型
在上一篇博客中已经对声明TypeScript类型变量已经做了初步的解析,这里先回顾以下:
1 //声明函数
2 function add1(x:number,y:number):number{
3 return x+y;
4 }
5
6 let ad ...
TypeScript入门五:TypeScript的接口
TypeScript接口的基本使用
TypeScript函数类型接口
TypeScript可索引类型接口
TypeScript类类型接口
TypeScript接口与继承
一、TypeScript接口的基本使用
1.1定义TypeScript接口的指令(interface)
接口让我们想到的第一个短语就是(API)。比如日常我们所说的调用某某程序的API一般都是跨应用的接口,如别的网站 ...
TypeScript入门四:TypeScript的类(class)
TypeScript类的基本使用(修饰符)
TypeScript类的抽象类(abstract)
TypeScript类的高级技巧
一、TypeScript类的基本使用(修饰符)
TypeScript的类与ES6的类非常类是,所以建议先了解ES6的类的相关内容:ES6入门六:class的基本语法、继承、私有与静态属性、修饰器。
1.最简单的TypeScript的类示例与ES6实现对比 ...
《TypeScript入门教程》笔记
基础
布尔值
let isDone: boolean = false;
数值
let decLiteral: number = 6;
字符串
let myName: string = 'tom';
无值
1.示例
let myName: null = null;
let myName: undefined = undefined;
2.null/undefined是所有类型的子类型
let val: 其它类型 = undefined;
空值
1.关键字为void,只能被赋值undef ...
vue2.0+typeScript项目
https://segmentfault.com/a/1190000018720570#articleHeader15
https://segmentfault.com/a/1190000016423943
https://www.jianshu.com/p/fbcad30031c2
我的github项目地址: https://github.com/zhaofangmei/vue-typescript-demo.git
踩坑记:
1、配置完路由后,无 ...
electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
我的electron教程系列
electron教程(一): electron的安装和项目的创建
electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范
electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
electron教程(二): http服务器, ws服务器, 子进 ...
typescript中类型断言理解
typescript很强大,但是用不好时也会很头痛,开发遇到类型错误的情况不在少数,或许你需要了解类型断言。使用断言,简单来说就是先做好一个假设,使得编译通过。
我一开始接触类型断言时是有点不明白的,后来我了解到原因是 “类型断言更像是类型的选择,而不是类型转换”。我发现不少博客文章里把类型断言说成了类型转换, ...
TypeScript 技巧
前言
很早以前就尝试过使用 TypeScript 来进行日常编码,但自己对静态类型语言的了解并不深入,再加上 TypeScript 的类型系统有着一定的复杂度,因此感觉自己并没有发挥好这门语言的优势,使代码变得更具可读性与可维护性。于是这几天便想着好好研究下这门语言,希望能够总结出一些特别的语言特性与实用技巧。
操作符
typeo ...
typedi 强大的javascript以及typescript 依赖注入框架
typedi 是typestack团队提供的依赖注入解决方案,对于typescript 我们可以使用注解的开发方式,官方的文档也比较详细
javascript 使用
基于函数的服务注入
var Service = require("typedi").Service;
var Container = require("typedi").Container;
var PostRepository = Service(() => ({
getNa ...