-
ts语法
2020-08-10 22:11:50ts是js的超级,ts是强类语言 安装npm i -g typescript 或 cnpm i -g typescript(cnpm要安装淘宝镜像原) 或者安装yarn (cnpm i -g yarn) 如果电脑上没有淘宝镜像,要安装淘宝镜像 npm install -g cnpm --registry=...ts是js的超级,ts是强类语言
安装npm i -g typescript 或 cnpm i -g typescript(cnpm要安装淘宝镜像原)
或者安装yarn (cnpm i -g yarn)
如果电脑上没有淘宝镜像,要安装淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
tsc -v 查看版本有没有安装成功
ts是从js进行衍生过来// 把ts的代码编译成es5的代码
ts开发工具vscode自动编译.ts文件
创建一个时实监听代码的文件
创建tsconfig.json 文件tsc --lint 生成配置文件
在那个tsconfig.json 文件中,修改"outDir": “./js”
改完之后是
tsc watch -tsconfig.json2.ts中的数据类型
ts中为了使用编写的代码更规范,更有利于维护,增加了类型校验,
布尔类型 (boolean)
数字类型 (number)
字符串类型(string)
数组类型 (array)
元组类型 (tuple)
枚举类型 (enum)
任意类型 (any)
null和undefined
void 类型
never类型//定义没有赋值就是undefined
var num:number|undefined; //申请两中类型
num=123一个元素可能是number类型,可能是null 可能是undefined
var num:number | null | undefined 对个类型void 类型 一个类型没有返回任何类型
// 表示方法没有返回任何类型
错误的写法
/*
function run():undefined{
console.log(‘run’)
}
run();
*/返回的是number类型
function run2():number{
return 123
}
run2()// never类型:其它类型(包括null和undefined)的子类型,代表不会出现的值
// 这意味着声明never的变量只能被never类型所赋值
var a:undefined
a=undefinedvar a:null
a=nullvar a:never;
// a=123 错误
a=(()=>{
throw new Error(‘错误’)
})()定义数组的方式
// 第一种方式数组的方式
var arr1:number[]=[11,22,33]
console.log(arr1)// 第二种方式数组的方式
var arr2:Array=[11,22,33]
console.log(arr2)
// 第三种方式数组的方式
var arr3:any[]=[‘122233’,22,true];
console.log(arr3)// 元数组类型(tuple) 属于数组的一种
var arr:[number,string]=[123,‘this is ts’]
console.log(arr) -
TS语法
2020-04-13 22:30:101、循环 //(1)for in 测试也可以用break退出循环 var myArray=[1,2,3,4]; myArray.desc="my Arraay"; for(var n in myArray) { console.log(n);//打印结果是键 console.log(myArray[n]);//结果是对应键得值 ...1、循环
//(1)for in 测试也可以用break退出循环 var myArray=[1,2,3,4]; myArray.desc="my Arraay"; for(var n in myArray) { console.log(n);//打印结果是键 console.log(myArray[n]);//结果是对应键得值 } //(2)forEach,没有办法中断循环,且会忽略属性desc myArray.forEach(value => console.log(value); //(3)for of 可以用break中途退出,可以将string字符单个拿出来 for(var n of myArray) { if(n>2)break; console.log(n);//打印结果是键 }
2、类,继承,接口实现
interface IPerson { sex:string; Seelp():void; } interface IStudent { Study():void; } class Person implements IPerson { constructor(public name:string,public sex)//这里相当于创建了name字段,第二需要实现接口属性 { console.log( "调用了自定义构造函数"); } Eat() { console.log(this.name+"吃了饭");//所以这里可以调用name属性 } Seelp():void//实现接口 { console.log("人需要睡觉"); } } export default class Student extends Person implements IStudent//extends继承,implements实现可用","分割实现多个 { public age:number;//默认为public,C#默认private constructor(name:string,sex:string,age:number) { super(name,sex); this.age=age; } LookBook() { this.Eat(); console.log("看第一次书"); super.Eat();//这两种方法均可调用非私有方法 console.log("看第二次书"); } Study():void { console.log("学生需要学习") } } var ming:Student=new Student("XiaoMing","gg",15); ming.LookBook(); var stus:Array<Student>; stus[0]=new Student("xiaoHong","gg",14); stus[1]=new Student("xiaoGang","mm",16)
3、模块(理解为单独每个不同得新脚本)
export导出,import导出//上面学生类标记可以导出,假设他们再同名文件夹下 import Student from "./wq";//就将学生类导入该模块 //import { Student } from "./wq";//如果学生类没有加上default,就需要加个大括号 var stus=new Student("XG","GG",13);//即可调用不同模块得内容
4、./和…/以及/之间的区别?
(1)./是当前目录
(2)…/是父级目录
(3)/是根目录
5、类型定义文件(暂时没看) -
Ts语法
2019-08-27 13:01:21对象参数设置可无 path?: EmergencyDataSourceConfigPath[]对象参数设置可无
path?: EmergencyDataSourceConfigPath[]
-
经典的MPEG TS语法手册
2020-10-10 14:55:32经典的MPEG TS语法手册,浓缩了ISO13818-1要义。包括DVB常用的PAT,PMT,SDT,NIT,BAT等等 -
AS转TS语法工具+安装程序.rar
2020-05-16 17:08:08AS3代码转换成TS语法工具 描述: 使用egret,laya,cocos等AS3.0项目转typescript 文件目录: 1.语法工具 2.air安装程序 -
JS转d.ts语法工具V1.0免安装
2018-10-09 18:42:07JS转d.ts语法工具V1.0免安装,主要的作用就是把第三方的js库,转换成ts项目可以识别的d.ts文件。 详情见博客:https://blog.csdn.net/sjt223857130/article/details/82986548 -
AS3代码转换成TS语法工具(as2ts)支持Laya和Egret
2018-03-27 17:33:10AS3代码转换成TS语法工具(as2ts),可以把AS3的代码经过工具,转换出来的是TS语言代码(typescript),支持Layaair和Egret,CocosCreator的TS项目使用。 -
AS3代码转换成TS语法工具(as2ts)第二版更新
2018-03-27 18:08:16AS3代码转换成TS语法工具(as2ts),可以把AS3的代码经过工具,转换出来的是TS语言代码(typescript),支持Layaair和Egret,CocosCreator的TS项目使用。 -
ts语法总结
2018-11-10 23:58:03TypeScript总结ts简介ts基础 ts简介 什么是ts:ts是js的超集 特点:提供类型系统和es6的支持 优点: 增加代码的可读性和可维护性 类型系统是最好的文档 在编译阶段就发现错误,比运行时发现错误好 增加了编辑器和...ts简介
- 什么是ts:ts是js的超集
- 特点:提供类型系统和es6的支持
- 优点:
- 增加代码的可读性和可维护性
- 类型系统是最好的文档
- 在编译阶段就发现错误,比运行时发现错误好
- 增加了编辑器和ide的功能,代码不全、接口提示、跳转到定义、重构
- 包容性
- .js文件可重命名为.ts文件
- 不显式的定义类型,也能自动作出类型推论
- 可定义一切类型
- 即使typescript编译报错,也可生成js文件
兼容第三方库,即使第三方库不是用ts写的,也可编写单独的类型文件供ts读取
- 增加代码的可读性和可维护性
- 缺点:集成到构建流程需要工作量,可能和一些库结合的不是很完美
- 安装:npm i -g typescript 执行tsc ts文件来编译会生成js文件或者ide支持
ts基础
-
定义类型
ts中,使用:指定变量的类型,:的前后有没有空格都可以
定义:let isDone:boolean = false -
检查
ts只会进行静态检查,如果发现有错误,编译的时候就会报错 -
数据类型
-
原始数据类型
构造函数Boolean、String、Number创建的对象是对象,不是基本类型
注意:undefined和null是所有类型的子类型,undefined和null类型的变量可以赋值给其他类型的变量let num:number = undefined;//正确 let u:void; let num:number = u;//错误
-
void
js没有空值的概念,在ts中,可用void表示没有任何返回值的函数function alertName():void{ alert("name"); }
用void声明变量的时候,只能赋值为undefined和null
let name:void = undefined;
-
any任意值
用来表示允许赋值为任意类型
普通类型,在赋值过程中改变类型是不被允许的
任意值的属性和方法:- 在任意值上访问任何属性和方法都是允许的
- 声明一个变量为任意值后,对它的操作,返回的内容的类型都是任意值
变量在声明的时候,未指定其类型,那么他会被识别为任意值类型
-
-
类型推论
ts会在没有明确的指定类型的时候推出一个类型,这就是类型推论let name = ""; name = 3;//错误
-
联合类型
联合类型:取值可以为多种类型种的一种
联合类型使用|分隔每个类型let favoriteNumber:string|number; favoriteNumber = 'one'; favoriteNumber = 1;//正确
访问联合类型的属性或方法:只能访问此类型的所有类型里共有的属性或方法
-
类型断言
- 用来手动指定一个值的类型
- 语法
- <类型>值
- 值 as 类型:react中的jsx语法的ts版必须是用这种
- 例子1:获取something.length会报错
function getLength(something:string|number):number{ if(something.length){ return something.length; } }
- 例子2:类型断言,将something断言成string
function getLength(something:string|number):number{ if(<string>something.length){ return (<string>something).length; } }
- 类型断言的用法如上,在需要断言的变量前加上 即可
- 类型断言不是类型转换,断言成一个联合类型中不存在的类型是不允许的
-
声明文件
- declare var 声明全局变量
- declare function 声明全局方法
- declare class 声明全局类
- declare enum 声明全局枚举类型
- declare namespace 声明(含有子属性的)全局对象
- interface 和 type 声明全局类型
- export 导出变量
- export namespace 导出(含有子属性的)对象
- export default ES6 默认导出
- export = commonjs 导出模块
- export as namespace UMD 库声明全局变量
- declare global 扩展全局变量
- declare module 扩展模块
- /// 三斜线指令
-
完整版 JS转d.ts语法工具V1.0免安装.rar
2020-01-09 13:56:01亲测好用,挺不错的资源,大家快来下载吧!挺有用的!需要的话可以来下载哦!JS转d.ts语法工具V1.0免安装,主要的作用就是把第三方的js库,转换成ts项目可以识别的d.ts文件。 -
ts语法在vue中的使用问题
2020-03-01 20:55:07我用TS语法创建的vue项目,封装了axios模块,取名叫http 在main.ts中引入 ``` import http from "./http/http" Vue.prototype.http = http; ``` 然后我在组件中引用出错 ``` ERROR in F:/daimaku2/... -
Vue3中导入项目Eslint和TS语法检测问题解决方案
2021-02-06 11:27:11Eslint语法检测问题 当项目安装时报了一大堆语法检测问题解决方案 打开.eslintrc.js注释掉方法即可 当注释掉后发现还有问题,ts语法检测 将ts的配置文件的strict值改成false就好啦 -
ts语法笔记
2020-11-17 14:05:20关于map的使用 定义一个Map: let map = new Map<string, string>(); map.set("a", "1"); 遍历方式: 1.(推荐使用) map.forEach((value, key) => { }) (参数顺序:value在前, key在后) ... -
Vue 的 template 中自动补全 ts 语法设置的属性
2020-11-10 22:04:21首先在 vscode 下安装 Vuter,然后打开 vscode 的配置文件, CTRL+SHIFT+P ... 然后增加一条语句: "vetur.experimental....然后在 vue 文件中的 template 中可以自动识别 ts 语法定义的属性了 ... -
vue源码中有ts语法,vscode查看提示错误问题
2018-11-12 11:40:51当用vscode查看vue源码时,发现js文件中有ts语法时,vscode会提示错误,如图 这个原因是因为vscode默认开启了对js文件的验证检查,可以在用户设置区禁用它,如图最后一行 这样即可让vscode不再错误的验证了。 ... -
TS语法忽略、eslint忽略
2020-08-24 10:19:06// @ts-ignore 忽略全文 // @ts-nocheck 取消忽略全文 // @ts-check eslint忽略+typescript忽略 /* eslint-disable */ const watermark = require("watermark-dom"); // @ts-ignore /* eslint-enable */ -
ts可展开注释_TS语法之装饰器(注解)
2021-02-11 12:53:14写在前面的话本文只讲解 TypeScript 中的装饰器语法(下称注解), 只会告诉你如何编写一个自定义注解,且通过注解简单的修改逻辑,不涉及 反射 或 元编程 等其他更进一步的代码讲解,如果有兴趣可以自行搜索相关的进阶... -
vue ==>ts 语法
2019-09-23 07:22:27vue =>ts //components import eader from "./header.vue"; @Component({ components: { eader } }) export default class eader extends Vue { //prop @Prop()privatemsg!:string; //da... -
JS代码转换d.ts语法
2019-01-03 00:09:42上次弄了一个as3转ts的工具,受到广大码农朋友的热烈欢迎~ 在实际开发中,经常会遇到第三方的js库,没有d.ts脚本,自己写太麻烦。 于是想到能不能有个工具可以转换成d.ts来用用。 网上搜了一下,有几种方式可以... -
angular--ts语法相关
2019-08-27 23:02:18说句公道话 这个我也看不太懂 ,但是这个是我的学习笔记 -
TypeScript里的.d.ts语法
2020-09-09 15:15:52在SAP Spartacus的实现里有很多.d.ts文件: https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html 相当于commonJS的module pattern. 回忆一下commonJS: Node 应用由模块... -
sublime text3对ts语法高亮支持
2019-08-28 11:09:26sublime text3默认对ts不支持高亮,怎么设置呢,其实很简单。 ctrl+shift+p 打开命令面板,输入ip,查找typescript 然后安装 安装成功后,点击工具右下角文件名,这里是typescript,因为已经选择过了,默认应该是... -
vue异步请求(ts语法)
2019-06-27 09:50:15<a @click="oneKeyDelete"></a> oneKeyDelete() { this.$confirm(`确认删除?`).then(async () => { let url = "/api/bombBombBomb/"; await axios.delete(url); ...