TypeScript学习笔记一

文章目录


前言

提示:typescript最主要的特点是可以定义静态类型


一、typescript的静态类型?

静态类型:变量的类型必须先声明,即在创建时就确认好变量类型。使用时只能将这一指定类型的数据赋值给变量,如果强行将不相干的类型数据赋值给它就会报错(例:C,C++,JAVA,C#)

动态类型:反之则为动态类型(PHP,Phython…)

interface DataProps { // 名字必须所有首字母均大写
    name:string[];
    age:number
}
const data: DataProps = {
	name:['sas','xx']
	age:12
}

二、typescript的基础静态类型和对象静态类型

1.基础静态类型

 const count: number = 12

(此处的number,以及string、null、undefined、boolean。void、symbol...)

2.对象静态类型

  (对象形式、数组形式、类形式、函数形式)
  // 对象形式
  const data1: {
	  name:string;
	  age:number
  } = {
	  name:'uu',
	  age:24
  }
  // 数组形式
  const data2: string[] = ['ss','uu','err']
  // 类形式
  class Person {}
  const policies: Person = new Person{}
  // 函数形式
  const data4: ()=>string = ()=>{return string} // 有返回值
  const data5: ()=>void = ()=>{console.log}  // 无返回值

三、类型注解和类型推断

1.类型注解 和 类型推断

let count: number;
count = 123

(: number 冒号加类型就叫类型注解) ----------
let countInterface = 1  (鼠标移入时能自动分析类型就叫类型推断)--------
:Any 则需要给一个类型注解

四、函数参数和返回值的注解

1.函数参数注解 和.函数返回值注解

function getTotal(one: number,two: number){
 return one + two
}
const total = getTotal(1,2)

/、、只有参数注解的情况下返回值会自动进行类型推断得出返回类型为number。
/、、但如果不小心写成 return one+two+'' 加了个空字符串,返回类型变成string则会报错

function getTotal(one:number,two:number): number{
  return one+two
}
/..没有返回值的函数注解
function say():void{console.log}
// 同 二-2
const data4: ()=>string = ()=>{return string} // 有返回值
const data5: ()=>void = ()=>{console.log}  // 无返回值
/..当函数参数是对象时
function add({one,two}:{one:number,two:number}){
	return one+two
}
const total = add({one:1,two:2})

function getNum({one:number}){
  return one
}
const one = getNum({one:1})
/..never永远执行不完无法进行下一步则是never(例如:抛出异常后无法执行后续过程,死循环)
function errFunction(): never{
  throw new Error()
  console.log
}
/..此处执行到Error() 执出异常后无法执行下面的console.log
-----------------------------------------------------------------------
function forever(): never{
  while(true){}
  console.log()
}
/...死循环同理

五、数组类型注解

const numArr: number[]=[1.2] // number 数组
const stringArr: string[]=['1','2']  // string 数组
const arr: (number | string )[] = ['uu',1,2,'UI']   // 混合数组
 type arrProp = {
     name: string;
     age: number;
   }
  const arrObj: arrProp[] = [  // 数组里面包含对象
    {name:'yyy',age:20},
    {name:'uuu',age:18}
  ] 

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数方法

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...