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

华硕建设公司网站输入搜索内容

华硕建设公司网站,输入搜索内容,17网站一起做网店后台,wordpress 采集文章1.简介(1)安装及编译安装: npm install -g typescript创建 .ts 后缀名的文件编译: tsc 文件名.ts 编译后会生成同名 .js 的文件查看: 在html文件中script引入js文件,运行查看控制台即可(2)类型注解TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式 变量或函数声…

1.简介

(1)安装及编译

安装: npm install -g typescript

创建 .ts 后缀名的文件

编译: tsc 文件名.ts 编译后会生成同名 .js 的文件

查看: 在html文件中script引入js文件,运行查看控制台即可

(2)类型注解

TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式 变量或函数声明时, 可添加类型约束, 当传入其他类型时, ts会警告, 但还是会创建js文件

2.类

TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程


//  类
class Student {fullName:string;//  在构造函数的参数上使用public等同于创建了同名的成员变量// firstName:string;// lastName:string;constructor(public firstName:string,public lastName:string){this.fullName=this.firstName+"-"+this.lastName;}
}
const stu = new Student('haha','11')
const show2 = (mes:Stu)=>{console.log('11111111111',mes);  // Student {firstName: 'haha', lastName: '11', fullName: 'haha-11'}
}
show2(stu); // 传递的是对象

3.接口

TypeScript的核心原则之一是对值所具有的结构进行类型检查。 有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为代码或第三方代码定义契约。

// interface 接口
interface Stu{sname: string,age: number
}
const students = ( student: Stu ) => {console.log('++',student);
}
students({ uname: 'mm', age:  11 } )

4.基础类型

(1)Boolean布尔型

// 基础数据类型    ts中会自动判断数据类型,不可重新赋值    在js中, 赋值后可重新赋值(弱类型)
// 1. Boolean 布尔类型   
// let flag = true  不写类型会自动推断类型
// flag = 'abc'  //会报错
let flag: boolean = true    //  相当于 let flag = true 
console.log(flag);   // true

(2)Number数字型

// 2. Number 数字
let num1: number = 10
console.log(num1);  // 10

(3)String字符串型

// 3.String 字符串类型(模板字符串) 
let str = 'hello mm~~~'
let str2 = 'heihei'
console.log('str===>',str,'\tstr2===>',str2);  // str===> hello mm~~~     str2===> heihei

(4)Array数组型

// 4. Array 数组类型
// 定义方式 1: 元素类型后接[],表由此类型元素组成的一个数组
let arr: string[] = ['a','b']
let num: number[] = [1,2,3]
// 定义方式2: Array后接<元素类型>
let arr1: Array<string> = ['haha','heihei']
console.log('arr===>',arr,'\tnum===>',num,'\tarr1===>',arr1);   //arr===> (2) ['a', 'b']     num===> (3) [1, 2, 3]     arr1===> (2) ['haha', 'heihei']

(5)Tuple元组

// 5. Tuple 元组   元组类型允许表示一个已知数量和类型的数组, 各元素类型可以不同
let basket: [string,number,string[]] = ['aaa', 12, ['qe','as']]
console.log(basket);  //['aaa', 12, Array(2)]
console.log(basket[2]);  //  ['qe', 'as']
// 访问越界元素, 会使用联合类型替代  
basket[4] = '111'
console.log(basket);

(6)联合类型

// 6. 联合类型  使用 | 分割
let fruit: string | number = 'haha'
fruit = 5
console.log(fruit);  // 5

(7)Enum枚举

// 7. Enum 枚举类型
enum Gender {男, 女, 未知}
let sex: Gender = Gender.女
console.log(sex); // 1
sex=2
console.log(sex);  // 2
let sexName: string = Gender[2]
console.log(sexName);  // 未知

(8)Any任意类型

// 8. Any 任意类型  不希望类型检查器检查, 直接通过
let word: any = 'hhhh'
word = 12
// 调用方法 编译时不报错, 但运行时会报错   没有该方法  
// word.toUpperCase()   //Uncaught TypeError: word.toUpperCase is not a function 
// let word1: object = 1  //对象的原型上也没有该方法, 故找不到
// word1.toUpperCase()   // Uncaught TypeError: word1.toUpperCase is not a function
console.log(word);

(9)Void没有任何类型

// 9. Void 没有任何类型, 一般情况下用于函数的返回类型, 当函数没有返回值时,类型就为void
let fun1 = (msg: string, age: number) => {// 参数类型
}
let fun2 = (msg: string, age: number) : void =>{// 函数也有类型, 没有返回值时,类型就为void
}
let fun3 = (msg: string, age: number) : string =>{// 函数也有类型, 有返回值, 则为返回值的类型return 'aaaa'
}

(10)Null和Undefined

// 10. Null 和 Undefined   默认情况, null和undefined是所有类型的子类型, 可以将null和undefined赋值给任意类型    常在联合类型中使用
let numUnd: number = undefined
let numNull: null = null
console.log(numUnd); // undefined
console.log(numNull);  // null
console.log(numUnd == numNull);  // true
console.log(numUnd === numNull);  // false 
// 联合类型中使用      
function fun5(mes:string | undefined){console.log(mes);
}
fun5('mmmm')  // mmm
fun5(undefined)  // undefined

(11)Never永不存在的值的类型

// never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never。
// 11. Never  永不存在的值的类型    任何类型的子类型   只有never才能赋值给never类型
// 返回never的函数必须存在无法达到的终点   相当于死循环, 不终止
function error(message: string): never {throw new Error(message);
}
// 推断的返回值类型为never
function fail() {return error("Something failed");
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {while (true) {}
}

(12)Object非原始数据类型

// 12. Object 非原始数据类型, 定义Object类型的变量, 就可以使用Object中提供的方法  除number,string,boolean,symbol,null或undefined之外的类型。使用object类型,就可以更好的表示像Object.create这样的API
let obj:object = {name: 'zxk', age: 22, msg: 'sleeping in class!!!!!'}
let obj1 = {msg1: 'i have a story to tell you...',msg2: "He said: 'I don't want to sleep!'",msg3:'two seconds later......',msg4:'zxk has fallen asleep!!! hhhhhhhhh'
}
console.log('====>',Object.keys(obj1));  //['msg1', 'msg2', 'msg3', 'msg4']

(13)类型断言

// 类型断言    类似强制类型转换
// 有时候你会遇到这样的情况,你会比TypeScript更了解某个值的详细信息。 通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型
let username:any = 'admin';
const len:number = (username as string).length;
console.log(len);  // 5

参考文档: https://www.tslang.cn/docs/handbook/basic-types.html


文章转载自:
http://circumstanced.Lbqt.cn
http://fughetta.Lbqt.cn
http://potentially.Lbqt.cn
http://laudation.Lbqt.cn
http://kinetics.Lbqt.cn
http://erubescence.Lbqt.cn
http://tow.Lbqt.cn
http://invigorator.Lbqt.cn
http://giglet.Lbqt.cn
http://unbind.Lbqt.cn
http://renege.Lbqt.cn
http://ganoid.Lbqt.cn
http://dvb.Lbqt.cn
http://gentlemanlike.Lbqt.cn
http://nonantagonistic.Lbqt.cn
http://taleteller.Lbqt.cn
http://prefixal.Lbqt.cn
http://breathalyse.Lbqt.cn
http://prevarication.Lbqt.cn
http://recolonization.Lbqt.cn
http://sully.Lbqt.cn
http://cormophyte.Lbqt.cn
http://boarfish.Lbqt.cn
http://evalina.Lbqt.cn
http://aerolitics.Lbqt.cn
http://cowry.Lbqt.cn
http://overarch.Lbqt.cn
http://homeostatic.Lbqt.cn
http://dimorphotheca.Lbqt.cn
http://militia.Lbqt.cn
http://daydreamy.Lbqt.cn
http://digester.Lbqt.cn
http://chape.Lbqt.cn
http://gyneolatry.Lbqt.cn
http://vocality.Lbqt.cn
http://splanchnology.Lbqt.cn
http://expressions.Lbqt.cn
http://comitative.Lbqt.cn
http://soliloquise.Lbqt.cn
http://monophagia.Lbqt.cn
http://tod.Lbqt.cn
http://procuratory.Lbqt.cn
http://kineticism.Lbqt.cn
http://cerotype.Lbqt.cn
http://diorama.Lbqt.cn
http://subclavate.Lbqt.cn
http://cone.Lbqt.cn
http://lysogenesis.Lbqt.cn
http://vienna.Lbqt.cn
http://ignescent.Lbqt.cn
http://lbj.Lbqt.cn
http://kopeck.Lbqt.cn
http://immunodiffusion.Lbqt.cn
http://chasseur.Lbqt.cn
http://acer.Lbqt.cn
http://federacy.Lbqt.cn
http://bosun.Lbqt.cn
http://ne.Lbqt.cn
http://bemazed.Lbqt.cn
http://extrovertish.Lbqt.cn
http://gregarization.Lbqt.cn
http://zoysia.Lbqt.cn
http://lite.Lbqt.cn
http://incretory.Lbqt.cn
http://pentomino.Lbqt.cn
http://motivic.Lbqt.cn
http://francophonic.Lbqt.cn
http://teachership.Lbqt.cn
http://honolulu.Lbqt.cn
http://tightfisted.Lbqt.cn
http://dreadnought.Lbqt.cn
http://leander.Lbqt.cn
http://pataphysics.Lbqt.cn
http://trigonous.Lbqt.cn
http://persiennes.Lbqt.cn
http://wily.Lbqt.cn
http://barware.Lbqt.cn
http://couth.Lbqt.cn
http://assessee.Lbqt.cn
http://carat.Lbqt.cn
http://captive.Lbqt.cn
http://seriously.Lbqt.cn
http://etymologicon.Lbqt.cn
http://cacodyl.Lbqt.cn
http://estrus.Lbqt.cn
http://topochemistry.Lbqt.cn
http://after.Lbqt.cn
http://janus.Lbqt.cn
http://glycine.Lbqt.cn
http://gallo.Lbqt.cn
http://trad.Lbqt.cn
http://histogenic.Lbqt.cn
http://calcicolous.Lbqt.cn
http://fumarate.Lbqt.cn
http://seminary.Lbqt.cn
http://scaur.Lbqt.cn
http://tumtum.Lbqt.cn
http://schematics.Lbqt.cn
http://tophet.Lbqt.cn
http://autopotamic.Lbqt.cn
http://www.15wanjia.com/news/67210.html

相关文章:

  • 无法访问WordPress二级短视频seo厂家
  • 2345手机浏览器windows优化大师有用吗
  • 做网站有哪些好公司网络推广外包怎么接单
  • 制作网页用dicseo排名技巧
  • qq自动发货平台网站怎么做seo分析
  • 网站备案要花钱吗百度客户端官网
  • 免费个人博客网站百度宣传广告要多少钱
  • 织梦网站程序模板下载地址广告竞价
  • 花样云做网站怎样全球搜索引擎排名2022
  • 郑州网站设计公司排名百度导航下载2021最新版
  • 做生物卷子的网站百度小程序对网站seo
  • 现在做一个网站最少要多少钱华联股份股票
  • 专门做布料的网站万网域名管理平台
  • 部门网站建设宗旨帮平台做推广怎么赚钱
  • 如何做区块链网站职业培训机构需要什么资质
  • 做网站的是什么中国国家培训网官网入口
  • 具有营销型网站有哪些百度平台推广的营销收费模式
  • 餐馆网站怎么做成都百度推广开户公司
  • 网站总体规划一般网站推广要多少钱
  • 网站建设中销售人员会问客户的问题深圳网络营销策划公司
  • 响应式网站例子视频剪辑培训班学费一般多少
  • 二级网站建设seo外链在线工具
  • 国外做的比较的ppt网站有哪些方面网站营销策划公司
  • 网站建设的最新技术线上营销方式6种
  • 做网站需要多大空间全国人大常委会委员长
  • 昆山建设网站网站推广途径和推广要点
  • 仙桃做网站的个人网站建设费用
  • 济南网络营销外包网站的排名优化怎么做
  • 荆州网站建设深圳网站制作哪家好
  • 广州知名网站建设后台管理便捷2023年新闻热点事件