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

个人主页网站制作免费做网站费用计入什么

个人主页网站制作免费,做网站费用计入什么,赣州房产网站建设,西宁网站建设哪家公司好前言#xff1a; 因为在写前端的时候#xff0c;发现很多UI组件的语法都已经开始使用TS语法#xff0c;不学习TS根本看不到懂#xff0c;所以简单的学一下TS语法。为了看UI组件的简单代码#xff0c;不至于一脸懵。 一、安装node 对于windows来讲#xff0c;node版本高…前言 因为在写前端的时候发现很多UI组件的语法都已经开始使用TS语法不学习TS根本看不到懂所以简单的学一下TS语法。为了看UI组件的简单代码不至于一脸懵。 一、安装node 对于windows来讲node版本高点还好对于linuxcentos7来讲尽量使用node16或者node18版本太高linux的动态库不支持需要升级动态库 E:\vuecode\练习node -v v18.12.1 二、安装typescript E:\vuecode\练习npm -g install typescript added 1 package in 672ms#查看版本 E:\vuecode\练习tsc -v Version 5.3.3三、基本语法 1.数据类型 1.1 声明变量 ts最大的特点就是声明了数据类型。样例代码如下 声明数字类型和字符串类型 let n1: number n1 10let s1: string s1 hello worldconsole.log(n1,s1)将ts文件编译成js文件并运行js文件 E:\vuecode\练习tsc test1.ts E:\vuecode\练习node test1.js 10 hello world1.2 自动识别类型 这里没有声明变量的类型在将字符串赋值给n1的时候ts的编译器检测出了语法问题 let n1 10 console.log(n1)n1 hello world console.log(n1)E:\vuecode\练习tsc test1.ts test1.ts:4:1 - error TS2322: Type string is not assignable to type number.4 n1 hello world~~2.特殊数据类型 2.1 any 任意类型 let a: any 1 console.log(a)a hello world console.log(a)a true console.log(a)a [1,2,3,4] console.log(a)执行结果如下 E:\vuecode\练习node test1.js 1 hello world true [ 1, 2, 3, 4 ]开发中不建议使用any类型 2.2 联合类型 限定了a的取值范围 let a: 1 | 2 a 1 console.log(a)a 2 console.log(a)#这里会报错不能将3赋值给a let a: 1 | 2 不能将类型“3”分配给类型“1 | 2”。ts(2322) a 3 console.log(a)限定a的赋值类型范围 let a: number | string a 1 a hello#这样超出了a的取值类型范围 a true2.3 unknown let a: unknown a hello console.log(a)a 1 console.log(a)a true console.log(a)unknow的二次赋值 let a: unknown a hello此时将unknown类型的a 赋值给b就不可以了。因为类型不匹配 let b: string b a解决办法有两种 1.类型断言 b a as string2.声明变量的类型 b stringa2.4 void void表示空一般用于函数没有返回值 function test(): void {console.log(111) }2.5 never 什么值都没有空也不会返回 3.对应js的类型的ts类型 3.1 object object表示js中的对象在开发中object使用的比较少。因为限制变量是不是对象的情况比较少主要是限制对象中的属性的类型以及属性的数量。 3.1.1 基本定义 不限制对象中属性的数量以及属性值的类型 写法1 let o1: {} #或者 let o1: object o1 {name: zhangsan,age: 20} console.log(o1)写法2 表示对象中可以有任意string类型的key值的类型为任意 let b: {[anyname: string]: any} b {name: zhangsan,age: 20, gender:男} console.log(b)3.1.2 限定对象的属性数量 正确赋值 let a: {name: string} a {name: zhangsan} console.log(a)错误赋值因为对象限制了属性只有name let a: {name: string} a {name: zhangsan,age: 20} 3.1.3 设定可选属性 有这种场景设定了对象中有多个属性一个必须的其他的可以不传递。也可以传递。 其中属性名后边的 “?” 就是设定属性为可选属性 let o1: {name: string,age?:number,gender?:string} o1 {name: zhangsan} console.log(o1)o1 {name: lisi,age: 20} console.log(o1)o1 {name: wangwu,gender:boy} console.log(o1)o1 {name:张无忌,age: 100, gender:boy} console.log(o1)执行结果如下 E:\vuecode\练习tsc test1.ts E:\vuecode\练习node test1.js { name: zhangsan } { name: lisi, age: 20 } { name: wangwu, gender: boy } { name: 张无忌, age: 100, gender: boy }3.1.4 设定固定属性其余属性不定长 let o1: {name: string,[anyname: string]: any} o1 {name: zhangsan,age: 20 ,gender: girl,class: 3} console.log(o1)E:\vuecode\练习tsc test1.ts E:\vuecode\练习node test1.js { name: zhangsan, age: 20, gender: girl, class: 3 3.2 数组 定义方式一 let a1: number[] a1 [1,2,3,4,5] console.log(a1) 定义方式二 let a2: Arraynumber a2 [1,2,3,4,5] console.log(a2)3.2 元组 元组和数组的区别是元组的的长度是固定的 let t1: [string,number] t1 [zhangsan,10]4.type关键字 type的作用主要是给数据类型起一个别名 例如 type num number let n1: num 10console.log(n1)5.反引号 反引号是ES6中的 模板字符串。 这是比较常用的一种在字符串中插入变量 let name1 zhangsan let age 20console.log(我的名字叫${name1},我${age}岁了)四、泛型 1.定义使用泛型 在定义函数或者是类时对于类型不明确的时候就就可以使用泛型。例如 function testT(content: T): T{return content }解释 定义函数test的时候不能确定content参数的类型是什么类型这时候使用泛型 第一个T 是定义了一个泛型T 第二个T 是定义content参数是一个泛型类型的参数 第三个T 是定义 返回值的类型是T类型 2.使用 2.1 方式1 利用ts的对数据类型的自动推断功能进行传值将鼠标分别放在r1,r2,r3,r4的上边可以看到它们的类型。也就说你传递的什么类型的值就返回什么类型的值 function testT(content: T): T{return content }let r1 test(10) let r2 test(hello) let r3 test([1,2,3,hello]) let r4 test({name:zhangsan})2.2 方式2: 当有时候当给函数传递的类型比较复杂时候TS无法自动推断出类型时需要手动声明传递的参数的类型代码如下 function testT(content: T): T{return content }向test函数声明传递的参数为string let r1 teststring(hello)向test函数声明传递的参数为一个内容包含数字和字符串的数组 let r2 test(number|string)[]([1,2,3,hello])向test函数声明传递的参数为一个只有name和age的对象 let r3 test{name:string,age:number}({name: zhangsan,age: 20})
http://www.zqtcl.cn/news/508857/

相关文章:

  • 专业建设网站企业外包公司企业网站
  • 网站开发需求确认书国家商标注册官网查询系统
  • 国内个人网站建设wordpress 添加搜索
  • 网站建设创新简述网站开发具体流程
  • wordpress小说网站模板南宁企业网站seo
  • 网站开发与设计课程时间网站推广的搜索引擎推广
  • 网站首页幻灯片不显示网页设计制作项目
  • 遂宁网站建设哪家好深圳做响应式网站设计
  • 慈溪建设企业网站wordpress 增加分类字段
  • 毕业设计做系统网站wordpress修改评论框
  • 上海网站开发孵化设计者联盟官网
  • 旅游网站开发需求报告微信创建小程序
  • 不收费推广网站有哪些h5网站要多久
  • seo网站营销推广全...互联网创业好项目
  • vx小程序制作网站优化标题怎么做
  • 做旅游网站课程设计报告湘潭学校网站建设 x磐石网络
  • 接网站 建设没有网站可以做seo排名吗
  • 抚顺网站seo建设网站需要支付什么插件费用吗
  • 东台做淘宝网站电子商务是学什么
  • 建一个购物网站多少钱wordpress托管在哪里
  • 怎么建设免费网站北京最大的火车站
  • 做视频网站被判刑豫建设标 网站
  • 济南网站建设济南wordpress计次查询
  • 做英文小工具网站赚钱商城网站是免费开吗
  • 做网站需要注意的问题seo推广代运营
  • 采购网站大全wordpress decorum
  • wordpress建站教程道一网页效果图素材
  • 广州网站开发哪家专业免费咨询怀孕医生
  • 洛阳网站的优化阿里云购买域名后怎么建网站
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢网站功能模块设计