Decorators are a powerful feature of TypeScript that allow for efficient and readable abstractions when used correctly. In this lesson we will look at how we can use decorators to initialize properties of a class to promises that will make GET reques…
JavaScript过去一直被当作一种玩具语言存在,直到2005年以后,这门语言又开始活跃并可以说是火爆,而且随着浏览器版本的不断升级和完善,各种DOM之间的兼容性已经渐渐的被各种技术解决了,比如经典的jQuery,JavaScript版本也在快速发展和完善.现如今,Web世界越来越让人摸不着边际,JSON.AJAX.HTML5.Sliverlight.Node.js.PhoneGap几乎都可以见到JavaScript忙碌的身影.不过渐渐的有经验的用户会发现JavaScript语言本身的局限性导…
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范 electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint electron教程(二): http服务器, ws服务器, 子进程管理 electron教程…
Initialize the project create a folder project Now we’ll turn this folder into an npm package. npm init -y This creates a package.json file with default values. Install our dependencies First ensure Webpack is installed. npm install --save-dev webpac…
Conditional types take generics one step further and allow you to test for a specific condition, based on which the final type will be determined. We will look at how they work on a basic level and then leverage their power to allocate function types…
The DOM can be a bit tricky when it comes to typing. You never really know exactly what you're going to get, so you have to educate your codebase into what you know you're using. This is done using Type Assertion where TypeScript types know they're a…
The TypeScript compiler is a powerful tool which catches mistakes even in vanilla JavaScript. Try it online at the TypeScript Playground, zero setup required. Error version: var movie = { title: "Memento", year: 2000, IMDB: 8.5, title: "&qu…
1.TypeScript完全解读-开发环境搭建 初始化项目 手动创建文件夹 D:\MyDemos\tsDemo\client-demo 用VSCode打开 npm init:初始化项目 然后我们的项目根目录就多了个package.json的文件 创建相关目录文件夹 untils:业务相关的,可服用的方法 assets:主要放静态资源 img:图片 font:字体文件 tools:业务无关的纯工具的函数 api:把一些可以复用的接口请求的方法,放在api文件夹下 config:一般放配置文件,把一…
2.TypeScript完全解读-基础类型 src下新建example文件夹并新建文件.basic-type.ts.截图中单词拼错了.后需注意一下是basic-type.ts 可以装tslint的插件,配合tslint可以做到很好的代码提示 boolean类型 boolean表示布尔类型 这里我们用let声明了一个变量bool的类型是boolean布尔类型的.可以先给他赋值, 第二行是先声明后赋值的形式 上面声明了bool为布尔类型的,后面再赋值123的话就会报错 有提示的错误 123是数字自变…
4.TypeScript完全解读-接口 初始化tslint tslint --init:初始化完成后会生成tslint.json的文件 如果我们涉及到一些规则都会在这个rules里面进行配置 安装tslint的VSCode的拆件.因为我之前已经安装过了.左上角带个小星星,是推荐安装的 新建interface.ts文件.然后在index.ts内添加引用 视频中报的错误,我本机没有这个错误 提示错误,单引号应该是双引号,这个就是tslint的错误,一般是ts的错误后面前缀都是ts开头 把提示的那个错…
5.TypeScript完全解读-函数 新建function.ts.然后在index.ts内引用 给函数定义参数类型:上面是es5的写法 下面是ts6的写法 一个完整的函数类型.括号 箭头 number 现在给add赋值一个函数 如果参数传的是string那么就会报错了,类型不兼容 全局定义的arg3是不需要定义在函数里的 接口定义函数类型,讲接口的时候已经学习过了这里再来看一下 tslint推荐我们使用类型别名,一保存文件就变成了这种形式 也可以这么去定义,此时isString类型就等同于st…
6.TypeScript完全解读-泛型 创建实例ts文件generics.ts 在index.ts内引入 fill是填充数组,创建的数组的元素数是times,填充的值就是接收的value的值 这里传入一个2的数量,这样返回的就是5个2的数组 返回每个都+1的结果 返回每个元素的length这样就是有错误的,因为我们的数值类型是没有length这个属性的 传入字符串,是有length属性的 虽然是可以,但是丢失了类型的检测.这里我们就需要用到泛型 使用泛型约束函数的类型 泛型变量T,调用函数的时候…
9.TypeScript完全解读-TS中的类 创建class.ts文件,并在index.ts内引用 创建一个类,这个类在创建好后有好几个地方都标红了 这是tslint的一些验证规则 一保存就会自动修复,视频中是可以修复的  估计我自己的电脑不一定会自动修复,这个错误的主要问题是属性和方法前面要加修饰符 表示它是公共的方法和属性 常见实例并输出 输出的结果 同样可以使用继承来封装一些特性 eslint的限制,一个ts文件里面只能定义一个类 所以就需要去掉这个限制 创建你分类,子类继承了父类,在里面…
10.TypeScript完全解读-枚举 新建enum.ts并在jindex.ts中引用 一个简单的数字枚举 可以通过两种方式获取枚举的值 获取到编码,第一个默认为0,后面的一次递增 第二种形式 可以自己制定编码,那么后面的一次递增 全部一次递增的结果 制定中间的为2 那么第一个还是0 ,2后面的会递增 也可以单独指定,可以随便指定,不一定按照从小到大的顺序 可以定义一个常量,把常量赋值给枚举 也可以定义函数 某个字段使用的计算值,或者是常量.它后面的枚举必须要设置初始值 它后面的枚举必须要设置…
11.TypeScript完全解读-类型推论和兼容性 在一些时候省略指令,ts会帮我们推断出省略的类型的地方适合的类型,通过学习ts的类型推论了解ts的推论规则 类型兼容性就是为了适应js灵活的特点,从而在一些情况下只要兼容的类型即可通过检测 创建文件并在index.ts中引入 类型推论 这里定义的name没有给他制定是什么类型的值,赋值一个字符串,ts就会给我们推断出name可能是想要一个字符串的类型 当我们再给这个name赋值一个数值类型就会报错 了. 多类型联合 我们不制定类型,ts会自动…
12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 index.ts内引入 交叉类型 交叉类型就是取多个类型的并集 Object.assign就是合并两个对象,包含两个对象各有的属性,合成一个总的对象 定义的函数也是接收两个对象,最后返回两个对象合并后的结果. 返回值里既包含arg1,也包含了arg2的属性 所以返回的类型就可以用交叉类型来返回: T &…
13.TypeScript完全解读-高级类型(2) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建文件并在index.ts内引用 this类型 在ts中this也是一种类型 看一个计算器的例子 通过public在constructor上添加属性count类型为number类型,默认值为0 定义方法add,里面把count和传进来的值相加,返回这个实例 实例上调用add方法传入3,输出结果13 接着调用减法的方法,返…
It can be painful to write the same function repeatedly with different types. Typescript generics allow us to write 1 function and maintain whatever type(s) our function is given. This lesson covers syntax and a basic use case for Typescript generics…
TypeScript is very particular about what is and isn't allowed in a TS file to protect you from common developer errors. By default if you set the compile target to ES5 it only allows you to use globally defined variables that were available in the ES…
You can create an easy to chain API using TypeScript classes. Learn about the thisreturn type annotation and how it plays with function chaining and class inheritance. class Adder { ; add(num: number): Adder { this.acc += num; return this; // enable…
ts中symbol的支持是按照es6的标准来的,只要我们学会es6中的symbol,就可以直接在ts中使用了 创建symbol 在example文件夹下新建symbol.ts 然后在根目录的index.ts内引入我们创建的symbol.ts 我们这里使用简写的形式:import './example/symbol' 后面的.ts是可以省略掉的,这里我们就省略了 symbol是是es6中新增的一个数据基本类型和 String.Number.Boolean是相同的.是一种基本的数据类型,用来表示一个…
临时起的兴趣,想写一篇关于ts decorator的文章,就花小半天整理了一下...  这东西,在ES2017里好像也有... 文档的话看这里. 因为临时,就没想写太多文字介绍,带少许文字说明直接开撸代码吧. 本文通过ts编译后的decorator代码结合两个案例来解释一番装饰器是什么?能做什么?有什么好处? 实现代码 编译后代码是这样的,带注释: var __decorate = (this && this.__decorate) || function(decorators, targ…
By setting the strictPropertyInitialization flag in the .tsconfig file, TypeScript will start throwing errors unless we initialize all properties of classes on construction. We’ll explore how you can fix the errors by assigning to them directly or in…
TypeScript是什么 TypeScript是JavaScript的一个超集 TypeScript需要编译为JavaScript才能运行(语法糖) TypeScript提供了类型系统,规范类似Java TypeScript提供了ES6的支持,也可以支持部分ES7草案的特性,不用担心TypeScript无法兼容目前主流的JavaScript解释器 环境安装 安装node.js https://nodejs.org/en/download/ 安装TypeScript包,这就是TS的编译器 npm…
TypeScript初探 TypeScript什么? 官方给的定义:TypeScript是一种由微软开发的自由和开源的编程语言,它是JavaScript类型的超集,可以编译成纯JavaScript,本质上向这个语言添加了可选的静态类型和基于类的面向对象编程.TypeScript可以在任何浏览器.任何计算机和任何操作系统上运行,并且是开源的.当前TypeScript 2.6 已发布. TypeScript能做什么? 背景 TypeScript 起源于开发应用程序规模的 JavaScript 应用程…
本文转自:https://marketplace.visualstudio.com/items?itemName=Mikael.Angular-BeastCode VSCode Angular TypeScript & Html Snippets Visual Studio Code TypeScript and Html snippets and code examples for Angular 2,4,5 & 6. All code snippets are based on and…
简介:typescript是C#之父主导的一门语言,本质上是向Javascript语言添加了可选的静态类型和基于面向对象的诸多特性.相当于javascript的超集,其包含es6.由于是和C#之父创造的,所以这里我采用和C#对比的方式学习他们之间的不同点,和主流面向对象语言(C#,Java)中相符的性质将不作记录. 1. 数字类型:C#有一系列限定大小范围的int,short,int16,long等整形,还有float,double等小数类型,而ts(TypeScript简称,为方便,以下皆简称…
常用知识点,技巧 添加库到本地: (举例 element-ui) 用npm命令行把包下载到本地 在电脑里找到资源文件,比如 C:\Users\XiaoCong\AppData\Roaming\npm\node_modules\element-ui\lib 然后复制到项目的目录下 IDEA 15 里的 js 的报错无视 比如   同时右侧显示这个      临时笔记 component 组件 成分; 零件; [数]要素; 组分; Angular2怎么使用第三方的component库(如 jquer…
原文: https://www.sitepoint.com/10-essential-typescript-tips-tricks-angular/ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
前言 总所周知,Vue新版本3.0 使用 TypeScript 开发,让本来就很火的 TypeScript 受到更多人的关注.虽然 TypeScript 在近几年才火,但其实它诞生于2012年10月,正式版本发布于2013年6月,是由微软编写的自由和开源的编程语言.TypeScript 是 JavaScript 的一个超集,扩展了 JavaScript 的语法,添加了可选的静态类型和基于类的面向对象编程. JavaScript开发中经常遇到的错误就是变量或属性不存在,然而这些都是低级错误,而静态…