当前位置: 首页 > news >正文

专门做丝印反查的收费网站2345网址导航删除办法

专门做丝印反查的收费网站,2345网址导航删除办法,邯郸建设网站的公司,做网站开发的女生多吗前言:去年做过几个vue3js的项目,当时考虑到时间问题,js更加熟悉,学习成本低一点,所以只去了解了vue3。最近这段时间补了一下ts的知识点,现今终于有空来码文章了,做个学习总结,方便以…

前言:去年做过几个vue3+js的项目,当时考虑到时间问题,js更加熟悉,学习成本低一点,所以只去了解了vue3。最近这段时间补了一下ts的知识点,现今终于有空来码文章了,做个学习总结,方便以后复习。(与文章中有表达不妥的地方欢迎指正,一起进步!)

一、TypeScript的基本概念

  • TypeScript编程语言是微软推出的一款开源的开发语言
  • TypeScript是JavaScript的超集。TypeScript也是基于JavaScript来进行开发的,具备JavaScript所有特性,支持完整的ES6\ES5等等语法。
  • 学习TypeScript就相当于在学习JavaScript,更多要学习的TypeScript中编程规范
  • 比如TypeScript中我们可以进行数据类型约束,一旦有了约束后我们程序设计会更加规范

二、回顾JavaScript特点

JavaScript是弱类型语言,在js中定义变量无需声明数据类型,数据类型都是根据赋的值来确定的

var i = 10
var k  = "xianzhi"typeof i ===>number
typeof k ===>string

如果我对i这个变量进行修改,i的数据类型就会随之改变

i = "heiheihei"typeof i ===>string

 与弱类型语言对应的就是强类型语言,比如Java、C++等

强类型语言一旦在定义变量的时候,确定了数据类型,以后就只能赋值相同数据类型的结果

int i = 10  --->int代表数据类型,整数类型i = "heiheihei" //程序会报错

所以JavaScript会有一些缺点:我们的代码经常在运行过程中才发生报错,而Typescript正好可以帮助我们,在编写代码的时候就检测到错误。

三、Typescript能帮助我们解决的问题

  • TS是JS的超集,完全遵循我们ES5、ES6的标准。写TS代码就是在写JS代码。只是提供了更多的约束。更多规范要求我们写代码必须按照规范来写,否定编译不通过。
  • TypeScript代码——-编译——JavaScript
  • 这个编译过程会检测你的语法是否正确,如果语法有问题,规范不正确,那就会抛出异常。
  • 可以减少代码在运行时报错

四、Typescript的数据类型

1、数字类型:number

var price:number = 20
price = true //报错.必须指定price值为number才能编译通过

2、字符串类型:string

var username:string = "hhhhhh"
username = "jjjjj"

3、布尔类型:boolean

var flag:boolean = true
flag = false

4、数组类型

数组类型语法1  :number[]  :string[]
// 语法一
let array:number[] = []
array.push(1)
array.push(2)let array2:string[] = []
array2.push("xiaowang")
array2.push("1")

注:定义数组时定下来了里面的数据类型,以后这个数组就只能存放对应的数据类型,放错数据类型就会报错

数组类型语法2  :Array<number>  :Array<string>
let array3:Array<number> = []
array3.push(1)

这里使用到了泛型,Array代表数组类型,<number>数组里面存放的number数据类型

5、 undefined和null

在TS中我们一般用undefined和null来表现我们可能出现的特殊情况.

/*** undefined 和 null* 在TS中,变量没有赋值之前不能使用* a的数据类型要么number,要么undefined*/
let a: number | undefined;
console.log(a,'赋值前');
a = 66;
console.log(a,'赋值后');let b: string | null = null;
console.log(b,'赋值前');
b = "heiheihei";
console.log(b,'赋值后');

输出结果: 

6、元组类型

元组类型是数组类型一种衍生,扩展.

数组类型默认只能存放统一数据类型的值.要么全是number\要么全是string类型

如果一个数组要存放多个数据类型,就可以考虑用元组来实现

let point:[number,string,boolean] = [1,"heiheihei",true]

7、枚举类型

这里先说一个场景:比如一条网络攻击,有“攻击失败”、“攻击成功”、“攻击中”等多个状态,如以下代码

//后端传过来的数据
const record = {id:1,name:"永恒之蓝",state:1
}
//前端处理逻辑
if(record.state==1){}else if(record.state==2){}

这里的state是后端代表攻击状态的字段,我们需要去猜测1/2/3代表什么意思,就是这里是魔鬼数字,以前处理我们就是给代码加注释,但是ts代码可以这样写一个枚举类型:

// 后端数据
const record = {id:1,name:"永恒之蓝",state:1
}/*** 枚举类型*/
enum recordState {attackSuccess=1,attackError=2,attackIng=3
}if(record.state == recordState.attackSuccess){}else if(record.state == recordState.attackError){}else if(record.state == recordState.attackIng){}

注:枚举类型里面状态必须是有限的,一旦写了以后代码就可以直接用枚举中的状态,代码解构会更加清晰

8、any类型

表达任意类型的一个基础类型,主要用于表达哪些无法用准确的数据类型来进行表示的场景

比如我们要获取页面上某个节点,这种情况下我们不好用数据类型来表达,为了满足ts的规范,我们可以使用any来进行类型声明

定义一个数组,这个数组里数据可以有多种类型

let age:any = "xiaowang"
age = 20  //any意义就不大const element:any =  document.getElementById("app")let array:any = [1,"xiaowangf",true] //编译没有问题

9、never类型 

  • never类型表示哪些永远不存在的值
  • never类型的应用场景比较局限,主要表达哪些总会抛出异常或者不会有返回值的函数表达式或者箭头函数。
let others:never;
others = (()=>{throw new Error("错误")
})()

10、object类型

在TS开发过程中object类型可以表达三种结果,表示值为{}、也可以[]、还可以是function

/*** object数据类型*/
let obj1:object = {}
let obj2:object = []
let obj3:object = function(){
}
let obj4:object = {id:1}
console.log(obj4.id); //报错,obj4找不到id属性

 这里的obj4.id会报错:

修改成这样就不报错了:

let obj4:{id:number} = {id:1}

 

定义一个对象,要明确告诉TS代码,我的对象里面有哪些东西

let student:{id: number;name: string}
student = {id:1,name:"ddd"}

http://www.hkea.cn/news/252846/

相关文章:

  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件
  • 网站开发建设费用关键词异地排名查询
  • 网站建设企业电话广州优化疫情防控举措
  • 重庆模板网站建设百度网站域名注册
  • 安徽建设厅网站地址网络广告推广方式
  • 门户网站内容管理建设方案企业关键词优化推荐
  • 北京网站建设公司飞沐小学生一分钟新闻播报
  • 企业网站建设申请域名seo赚钱
  • 2017网站开发前景百度网盘资源链接入口
  • 平面广告设计主题seo是怎么优化上去
  • 正规网站制作公司哪家好四年级写一小段新闻
  • 济南网站建设安卓版快手seo
  • java开发兼职网站开发线上推广平台
  • 北京网站建设开发公司网站自动收录