ts-基础
1. 定义变量
// 将b赋值为 hello,只能是 hello或者 wowrld
let b : "hello" | "world"
// 设置变量c只能为number 或者string类型
let c: number | string
c = 'true'
// 显式和隐式 any, 如果
let d : any
let e
如果不确定类型那么最好用unknown
let f : unknown
// 将 类型未unknown的值赋值给 string的值的时候,需要进行类型判断,否则会报错
let g : string
if( typeof f === 'string') {
g = f
}
// 类型断言,告诉解析器变量的实际类型
g = f as string
g = <string>f
'
// 必须有name属性
let c2 : {name: string, [propName: string]: any}
// 定义一个e2, 希望有两个参数,一个是number类型一个是string,返回值是一个string类型
// 设置函数的结构类型声明
let e2 : (a:number, b : string) => string
e2 = function(a: number, b: string) {
return a + b
}
console.log(e2(1, 'numberdsfd'));
// 声明 number类型的数组
let f2 : Array<number>
f2 = [1, 2, 3]
console.log(f2);
// 元祖就是固定长度的数组
let h2 : [string, number]
h2 = ['22', 122]0
2. 类
属性
class Person{
// 实例属性。只有new 了实例后才能访问到属性。
name: string = 'cjk';
age : number = 12
// 类属性, 通过Person.age 直接访问。可以使用static 创建静态属性
static car: string = '宝马'
// 实例属性可以随便更改,但是类属性是固定的。
}
在构造函数中,this指向当前实例,谁创建的this就是指向谁
ts-基础的更多相关文章
- TS基础应用 & Hook中的TS
说在前面 本文难度偏中下,涉及到的点大多为如何在项目中合理应用ts,小部分会涉及一些原理,受众面较广,有无TS基础均可放心食用. **>>>> 阅完本文,您可能会收获到< ...
- TS基础笔记
TS优势 更好的错误的提示,开发中及时发现问题:编辑器语法提示更完善:类型声明可以看出数据结构的语义,可读性更好; TS环境搭建 1.安装node;2.npm install typescript@3 ...
- ts --基础类型
声明js的基本类型1.数字let a: number = 2; 2.字符串let aa: string = "22" 3.数组 (1) 数组元素: let b: number[] ...
- TS 基础数据类型
1.基础数据类型 Boolean布尔值 Number数字 String字符串 Array数组 Tuple元组 Enum枚举 Any void Boolean布尔值:true/fals ...
- Ts基础
//typeof 用来判断变量类型 var s: string = 'egret'; var isString: boolean = typeof s === 'string'; console.lo ...
- ts基础(1)
// let num:number = 12; // let boo:boolean = true; // let str:string = "adfd"; // str = 'a ...
- TS学习随笔(一)->安装和基本数据类型
去年学过一段时间的TS,但由于在工作中不常用.就生疏了,最近项目要求用TS,那我就再回去搞搞TS,写一篇记录一下自己学习TS的进度以及TS知识点 首先,关于TS的定义我就不在这描述了,想看百度一下你就 ...
- TS学习
随着vue3.0的即将到来,是时候学习一下TS了 简介:TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类 ...
- create-react-app的TS支持以及css模块化
开始: 利用官方脚手架,搭建react工程.参考:https://react.docschina.org/docs/create-a-new-react-app.html. 过程: 1.暴露webpa ...
- (二) 从Angular1到Angular2需要的预备知识
1. TypeScript语法与ES6新特性 写惯了jQ的话突然从ES5跳到ES6,又是个变形的ES6(TypeScript),学习成本确实不低.不过笔者也是从ng1直接上手ng2,对与很多新特性的积 ...
随机推荐
- vscode快速删除空白行方法
1.快速打开替换界面,在Find界面输入^\s*(?=\r?$)\n 2.Alt+R选择Use Regular Expression(Alt+R)即正则表达式模式: 3.选择Replace All(C ...
- Typora 最后一个免费版本
介绍 Typora 是一款轻量级的 Markdown 编辑器,其最为出众的特点是: 所见即所得. Typora 于2021年11月23日推出了第一个正式版,并转为收费.不过价格也算合理,89元/3台设 ...
- SQL优化的一些方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Java入门与进阶 P-2.1+P-2.2
比较运算符 关系运算符(relational operators)也可以称为"比较运算符",用于用来比较判断两个变量或常量的大小.关系运算符是二元运算符,运算结果是 boolean ...
- Spring异步Async和事务Transactional注解
Spring开发中我们我们常常用到@Transaction和@Async,但这2个注解加在一起很多的开发者不敢用,担心事务不生效.下面我们就仔细讲解一下这2个注解同时运用,文章用3个场景讲述它们之间的 ...
- 9月28日——while循环知识补充、for循环、break及continue生效范围和range方法的介绍
目录 今日内容总结 一.while循环内容补充 1.死循环 2.嵌套和全局标志位 二.循环结构之for循环 概念介绍 for循环结构: 1.for结构 2.for...else结构 三.break和c ...
- 汉诺塔 Java && Cpp 实现
不论多少盘,都看成是两个盘在移动,只需要把上面的两个盘移动好就行. public static void hanoiTower(int num,char a,char b ,char c) { if( ...
- QT 5 中文乱码,试试在PRO文件加入这几行代码
msvc{ QMAKE_CFLAGS += /utf-8 QMAKE_CXXFLAGS += /utf-8 }
- wsl 更新到D盘
更换教程 https://blog.csdn.net/qq_39683682/article/details/113801632 安装后需要换个默认用户 https://blog.csdn.net/q ...
- 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现
KMP算法(用于实现 strStr()) strStr()函数是用来在一个字符串中搜索是否存在另一个字符串的函数,其匹配字符串方式为KMP算法 KMP算法基础理论 假设有如下两个字符串 文本串 aab ...