IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> TypeScript学习 -> 正文阅读

[JavaScript知识库]TypeScript学习

一、类型
字符串型、数字类型、布尔值、数组、元组、枚举、任意类、null 和 undefined、never类型、函数

1、字符串型 只能赋值字符串

let str:string = "nihao ts"
let str1:string = "nihao ts"

2、数字类型,所有数字都是浮点数,支持十进制、十六进制、二进制和八进制字面量

let aa:number = 111
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

3、布尔值 只能赋值布尔型值

let bb:boolean = false

4、array数组

// 1.第一种定义数组的方法
let arrNumber:number[] = [1,4,5,6] // 数组里面的值必须为数字
let arrString:string[] = ['1111','str'] // 数组里面的值必须为字符串
let arrAny:any[] = ['123','str',false,1,4,5,6] // 里面的值必须为任意
// 1.第二种定义数组的方法 Array<元素类型>
let arr1:Array<number> = [11,44,66,88]
let arr2:Array<string> = ['rr','ii','kk']

5、元组类型(tupe) 属于数组中一种

let arr:[string,number,boolean] = ["ts",1,false]

6、枚举类型(enum) 对JavaScript标准数据类型的一个补充 枚举类型可以为一组数值赋予友好的名字。

enum  Flag{success = 1,error = 1}
let f:Flag= Flag.success

enum Color {Red, Green, Blue = 5} // 若没赋值为索引值,有值为赋值
let c: Color = Color.Green;
console.log(c) //1
console.log(Color.Blue) // 5

7、任意类型 (any),不规定类型,可以赋值各种类型,对数组的定义也是可以的

let num:any = 123
num = 'str'
num = true

let list: any[] = [1, true, "free"];
list[1] = 100;

8、null 和 undefined:默认情况下null和undefined是所有类型的子类型,可以把 null和undefined赋值给其他类型的变量。可以其他类型的值赋值为undefined null 赋值给undefined null只能是对应的undefined null类型

let u: undefined = undefined;
let n: null = null;
// u = '1111' 错误的 不能赋值 
// n ='2222'  错误的 不能赋值 
let nums:string | undefined | null
console.log(nums) //null
nums = 'str'
console.log(nums) // str

9、void 类型,表示没有任何类型,一般用于一个函数没有返回值时的时候

//  错误写法 -->function eat():undefined{} -->因为没有返回值
//  正确写法 -->function eat():undefined{ return }
function add():void{ // 表示没有方法没有返回类型
}

10、never类型,是任何类型的子类型,也可以赋值给任何类型 表示永不存在的值的类型

let nev: never;
nev=(()=>{
    throw new Error('错误')
})()
// nev= 111 错误的 不能赋值 可以其他类型的值赋值为never 赋值给never只能是never类型的,和undefined null 相同

11、函数定义

// 函数声明
function fly():string{
    return 'fly'
}
fly()

// 匿名函数
let fly2 = function (): number{
    return 123
}
fly2()

// 函数带参数时间
function fly3(tobegin: string, toend: string):string{
    return tobegin
}
fly3('北京','上海')

// 匿名函数
let fly4 = function(tobegin: string, toend: string):string{
    return tobegin
}
fly4('广州','揭阳')

// 表示没有方法没有返回类型
function fly5():void{ 
}
fly5()


// 可选参数
function fly6(tobegin: string, toend?: string):string{
    return tobegin
}
fly6('广州','揭阳')
fly6('广州')


// 默认参数
let fly7 = function(tobegin: string, toend: string ='佛山'):string{
    return tobegin
}
fly7('广州','揭阳')
fly7('广州')

// 剩余参数
function sum(...result:number[]):number{
    let total = 0
    result.forEach( item=>{total += item})
    return total
}
sum(1,2,99999,789)

// 函数重载  JavaScript里函数根据传入不同的参数而返回不同类型的数据
function getUserInfo(age:number):number
function getUserInfo(name:string):string
function getUserInfo(name:string,age:number):string
function getUserInfo(str:any):any{
    if(typeof str==='string') {
        return '我的名字是'+str
    } else {
        return '我的年龄是'+str
    }
}

// 箭头函数
setTimeout(() => {
}, 1000);
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:29:58  更:2022-02-22 20:31:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:09:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码