Este capítulo habla principalmente sobre la diferencia entre ts y js y algunos otros usos. Es una buena opción para estudiantes principiantes que aprenden ts.
1. Declaración de variables (declaración de tipos básicos de datos) , después de completar la declaración de variables, si el tipo es incorrecto al reasignar el valor, se informará un error. Aquí, preste atención a lo siguiente
Declarar tipos numéricos
let num:number = 123
Declare el tipo de cadena:
let str:string = ”123“
declarar tipo booleano
let b:boolean =true //只能赋值true或者 false
declarar indefinido
let un:undefined = unidefinde //只能赋值undefined
Declarar datos de tipo nulo
let nu:null = null //只能赋值null
Declarar alguno. Esto es equivalente a desactivar la detección de tipo y no se dará ningún aviso sin importar cómo se asigne el valor a la variable en el futuro.
let an:any = "12asda" //赋值关闭类型检测,没有实际意义。如果赋值时都用any的话,不如直接用js来写代码,这点需要注意!!!
2. Declarar datos de tipo conjunto El tipo conjunto significa que cuando especificamos el tipo de variable, podemos especificar no solo un tipo, sino también varios tipos.
let arr:number | string = ”123“ //表示即可以赋值number类型的数据也可以赋值string类型的数据
3. Declarar datos de tipo de referencia (matriz)
Declarar array1,
let arr :number[]=[1,2,3,4] //arr是变量名称,number是数组里的数据格式,number后面就是我们的数据类型
Declarar array2:
let arr :string[]=[”123“] //arr是变量名称,string是数组里的数据格式,string后面就是我们的数据类型
. . . . Los tipos de datos pueden definir varios tipos de datos
3. Declarar datos de tipo de referencia (objeto)
let obj:{name:string} ={name:"123"} //对象的key必须是name,value的值得是string,这里声明时规定
Esto significa que el valor en nuestro objeto es solo el nombre, y la cantidad y el tipo de datos en el objeto son limitados.
Se puede utilizar sin restricciones al crear variables
let obj:{name:string,[propName:string]:any}, //对象里面必须要用name:string,其他数据不做限制,包括其他数据的多少和类型
4. Definición de tipos de datos multidimensionales
Los datos multidimensionales son nuestra matriz de matrices, matriz de objetos, etc.
Definición de matrices de matrices
let a:number[][]=[[1,]] //number是我们数组里的数据类型,这里定义的是number,如果我们不做限制的话直接用any即可,number后面接的2个空数组,代表着我们是2维数组,数组里面套数组,最里层数组的数据必须是number
Definir el objeto anidado en la matriz
const ang :{"name":string}[]=[{name:"123"}] //数组里面套对象,对象的key必须是name,value必须是string类型的数据
5. Definición de datos del tipo de función
let fn:()=>number=()=>{
return 123
}//定义一个函数fn,fn规定了返回值number
let fn=()=>{
return 123
} //定义了函数fn,没有规定返回值
let fn(a:number,b:string)=>number=>(1,"123")=>{return 123}
//规定了传入2个参数,第一个参数是number类型的数据,第二个参数是string类型的参数,
同时规定必须要有返回值,返回值必须是number类型的数据