typescript元组let arr: [string,number] = ['haha',3]enmu类型enum Color {Red = 3,Blue,Green
}
let color = Color[0]
console.log(color) // undefinedlet color2 = Color[3]
console.log(color2) //red可以指定序号enum Color {Red = 3,Blue = 5,Green = 7
}any类型void类型没有返回值function test ():void {console.log("void")
}undefined和 nullundefined 是 null 的子类型,所以可以赋值给它let u: null = null
let n: nu...
boolean 是 JavaScript 中一种有趣的原始数据类型。在TypeScript中,非严格模式下("strictNullChecks": false),它总共允许4个值 true 、false、undefined、null 。JavaScript 中的 Booleanboolean 可以取值 true 或 false 。 其他类型的值可以是真值或假值,例如 undefined 或 null 。let b = true
if(b) console.log(‘logged‘)b = false
if(b) console.log(‘not logged‘)b = undefined
if(b) console.log(‘not logged‘)b...
基于Typescript的Vue项目配置国际化简介使用vue-i18n插件对基于Typescript的vue项目配置国际化,切换多种语言, 配合element-ui或者其他UI库本文以配置中英文两种语言为例安装安装国际化插件vue-i18nnpm i vue-i18n --save
添加locales文件在根目录下(src/)下新建目录 i18n/
在src/i18n/目录下新建en.json文件,对应英文{"lang": {"login": "login"}
}
在src/i18n/目录下新建zh.json文件,对应中文{"lang": {"login": "登录"}
}
配置...
原文:https://blog.oio.de/2014/03/21/declaration-merging-typescript/ Why might you need this?There can be several scenarios where this might be required. One of the most common ones is when you want to extend an existing JavaScript library that comes with a type definition.---------------------------------------------------Declaration Merging with TypeScriptPosted on 21. March 2014 by S?nke Sothma...
装饰器:装饰器就是一个方法,可以注入到类、方法、属性参数上来扩展类、属性、方法、参数的功能。写法:普通装饰器(无法传参) 、 装饰器工厂(可传参)。 1、类装饰器:类装饰器在类声明之前被声明(紧靠着类声明),类装饰器应用于类构造函数,可以用来监视,修改或替换类定义。 传入一个参数。类装饰器:普通装饰器(无法传参)//定义一个装饰器(其实就是一个方法)function decorator(target:any){//target 就是当前类 c...
新版本的Visual Studio对TypeScript已经有了很好的支持,我们可以直接添加TypeScript文件到项目中,IDE会在编写TypeScript代码的同时自动生成js文件到ts文件的同级目录下(注意只是生成,需要手动添加到项目里面来)。 然而在TypeScript中使用项目中已有的类库例如jQuery,则需要添加声明文件(*.d.ts)至项目目录中,否则IntelliSense是无法正常工作的。 除了自己编写声明文件以外,网上也有开源的项目例如definitelytyped,...
/*
函数和javaScript并没有太大差别,只是增加了额外的功能,使函数有
更为强大的功能而且更易用使用
*///现在支持函数的参数指定类型,在前面的博文中大家应该已经看到
//还可以指定函数的返回值 function fun7(x: number, y: number): number {return x + y;
}let myadd = function (x: number, y: number): number { return x + y; };/*可选参数与默认参数*/
function fun8(x?: number, y: number = 8): void { };
//一个可选参数,...
参考资料typeScript 文档Vue 官方文档 - TypeScript 支持代码地址vue-ts新建项目vue create vue-ts
cd vue-ts
vue add @vue/typescript
项目配置,可以参考这篇文章 在 Vue+TypeScript 项目中,如何配置 ESLint 和 Prettier类型注解和编译时类型检查类型注解:变量后面通过冒号+类型来做类型注解// test.ts
let title1: string; // 类型注解
title1 = "xbl"; // 正确
title1 = 4; // 错误
let title2 = "xx"; // 类型推论
title2 =...
Typescript泛型 参考:https://www.tslang.cn/docs/handbook/generics.html 介绍软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。function identity<T>(arg: T): T {return arg;
}我们给identity添加了类型变量T。T帮助我们捕获用户传入的类型(比如:number),之后我们就可以使用这个类型。之...
目前最流行的三大框架,Angular高版本强制依赖ts,后来react和vue也引入对ts的支持。ts除了是js的超集,还很可能是js的未来,花点时间学一下也是有必要的。先从配置一个ts的web开发环境说起。首先建立文件夹ts-web并进入,然后初始化npm# 创建项目文件夹ts-web
mkdir ts-web
# 进入文件夹
cd ts-web
# 初始化npm
npm init -y安装与ts有关的依赖# 首先需要全局安装typescript
npm i typescript -g# 再在项目中安装typescript和ts-lo...
为什么是使用let呢 因为已经厌烦了 int var 呵呵 原文:http://www.cnblogs.com/ganmk--jy/p/5877308.html
1、交叉类型 将多个类型合并成一个类型,新的类型将具有所有类型的特性,适用于对象混用 语法:类型1 & 类型2 & 类型3interface CatInterface {run(): void
}interface DogInterface {jump(): void
}// 交叉类型具有所有类型的特性
let pet: CatInterface & DogInterface = {run() {},jump() {}
} 2、联合类型 声明的类型并不确定,可以为多个类型中的一个。用竖线(|)分隔每个类型,所以number | string | boolean表示一个值可以...
HTML部分:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="ie=edge"/><title>Tic Tac Toe</title><link rel="stylesheet" href="style.css"/></head><body><h1>Tic Tac Toe</h1><div class="container"><!-- 游戏面板(棋盘) --><div id="bord" class="game-board x"><div class="row"><div ...
栈什么是栈栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。咖啡厅内的一摞盘子是现实世界中常见的栈的例子。只能从最上面取盘子,盘子洗净后,也只能摞在这一摞盘子的最上面。栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构。由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问。为了得到栈底的元素,必须先拿掉上面的元素。对栈的两种主要操作是将一个元素压入栈和将一个元素弹出...
最近需要用 nodeJS 写一个后台程序,为了能够获得 IDE 的更多代码提示,决定用 typescript 来编写,随便也学习下 ts,在这记录下实现过程。1、新建文件夹 typescript-koa-postgresql,初始化项目yarn init -y2、安装 typescriptyarn add typescript @types/node --dev3、配置 typescript 编译环境,在项目根目录下新建文件 tsconfig.json 1{2 "compilerOptions": {3 "target": "es2017",4 "outDir": "./dist",5 "m...