Typescript是什么? Typescript都有哪些?

在ts中声明变量 需要使用类型注解的形式
语法 var/let/const 变量名: 数据类型 = 值
的基本类型
类型都包括哪些: 布尔类型()
数字类型()
字符串类型()
数组类型(array)
元组类型(tuple)
枚举类型 (enum)
任意类型(any)
null和
void类型
never类型
1
二进制,十进制,八进制 十六进制等数字let decLiteral: number = 6;//10进制let binaryLiteral: number = 0b1010;//2进制let hexLiteral: number = 0xf00d;//16进制let octalLiteral: number = 0o744;//8进制
let num: number = 123;num = 100;```
2
let msg: string = "hello world";let name: string = "你好";let age: number = 18msg = `${name}+年龄:${age}`export {}

Typescript是什么? Typescript都有哪些?

文章插图
3
let flag: boolean = true;flag = false;flag = 1 > 0;
4 null和
js中null和undefined是两个基本数据类型在ts中 null和undefined他们是类型 也是值let n: null = null;let u: undefined = undefined;n=nullu=undefined
// @ts-ignore 取消下一行的错误提示let name1: symbol = Symbol("name");// @ts-ignorelet name2: symbol = Symbol("name");const obj = {[name1]: "hello world",[name2]: "你好世界",}
6 Array
//在数组中应该存放相同类型的数据let arr: Array> = []; //第一种写法 react.jsx let arr2: string[] = []; //第二种写法let arr3 = ["xxx",18, true];arr.push("你好世界");// arr.push(1234);//在数组中最好放相同数据类型的内容arr.forEach(item=>{})
7
const obj = {name: "你好世界",age: 18}console.log(obj.name)
8 any
//msg这个数据的数据类型可以是任何的数据(和原来的js就完全一样了)let msg: any = "1234";msg = 123;msg = true;msg = [];msg = null;
9
function fn1(){return "这是一个字符串"}function fn2(){return 1234}//unknown类型 只能赋值给any和unknown类型的变量//any类型 可以赋值给任意类型的变量let flag = true;let res: unknown;if(flag){res = fn1();}else {res = fn2();}let msg:unknown = res;console.log(res)
10 void
//void 当前方法没有返回值function fn(num:number, num2:number): number{return num+num2}function fn2(num:number, num2:number): void{console.log(num+num2)}let run = fn2(1,2)
11 never
never表示永远都不会发生值的类型
12 元组 类型 tuple
//tuple元组: 多种元素的组合//1.数组//数组中的数据类型应该保持统一// let arr: any[] = ["name", 18, true]// arr[0].length;// arr[1].length;//如果不统一,那么应该尝试使用对象替代/*let obj = {name: "name",age: 18,n: true}*///2.元组 必须要赋值let arr: [string, number, boolean] = ["name", 18, true]arr[0].length;// arr[1].length;//应用场景function createState(state: any) {let curState = state;let setState = (newValue: any) => {curState = newValue}let arr: [any, (newValue: any) =>void] = [curState, setState]return arr}let [curState, setState] = createState(100);setState(101);console.log(curState)let [title, setTitle] = createState("abc")setTitle("aaa")console.log(title)//优化function createState2(state: T) {let curState = state;let setState = (newValue: T) => {curState = newValue}let arr: [T, (newValue: T) =>void] = [curState, setState]return arr}let [flag, setFlag] = createState(true)setTitle(false)console.log(title)export {}