学习typeScriprt基础语法一(基本数据类型,引用数据类型)

1. 基本数据类型

在ts当中基础类型:Boolean、Number、String、nullundefined 以及 ES6 的  Symbol 和 ES10 的 BigInt

主要用法如下所示,会对变量的值进行一些限制

let a:string = "abc"
let b:boolean = false
let c:number = 123
// unknown 类型不可以调用属性和方法,
let tUnkown:unknown = {a:1}
let d:any = {}

2. Object类型

三种对象类型的区别

Object 类型,所有原型上是object的都可以是该类型
object 类型,只能是引用类型,不可以是基本类型
{} 空对像 所有原型上是object的都可以是该类型,但是这个的弊端是
    无法去添加新的方法和属性
let obj1:Object = 111;
let obj2:object = [];
let obj3:{} = {a:1};
// obj3.name = 'jjs' 错误的写法

3. interface接口

interface接口, interface是一种约束,让数据满足其格式
如果AInterface 有name属性实现它的对象没有实现这个属性就会抛出异常,多或少都不可以
如果是重名的interface那么就会合并
如果gender属性可以不存在的话,可以在其后面加上一个?
像不接受interface的约束可以采用[propName: string]: any;
想设置属性为只读,可以在属性名前面加上 readonly
interface AInterface {
    name:string,
    age:number
}
interface AInterface {
    gender?: number,
    readonly cb: ()=> boolean,
    [propName: string]:any
}

const Test:AInterface = {
    name: 'jss',
    age: 12,
    cb: ()=> {return false},
    // gender: 1
    a: 2
}
// Test.cb = ()=> {return true} 这样就是错误的写法

4. 数组类型

1. 类型:[]   2. Array<类型> 泛型
二维数组的话,套娃即可
1. 类型: [][] 2.Array<Array<类型>>
也可以使用interface来指定数组的类型
let arr: number[] = [1,2,3]
let arr1: Array<string> = ['1','4']
interface person {
    name: string,
    age: number
}
let arr2: person[] = [{name: 'jjs',age: 1}]

5. 函数

函数的声明 以下这种格式就可以声明成功
function fn(name:string):number {
    return 1
}
也可以指定默认值,和可选参数
也可以使用接口来指定函数的形参
也可以进行函数重载,通过下面的例子可以生动的展示
function fn(name:string = 'jjs'):number {
    return 1
}
interface fnInterface {
    fnName:string,
    fnArgs: number
}
function fn2 (args:fnInterface): string {
    return args.fnName
}
let testArr:number[] = [1,2,3]
function opterArr():number[]
function opterArr(id:number):number[]
function opterArr(ids?:number[]|number):number[] {
    if(typeof ids == 'number') {
        return testArr.filter(item => ids==item)
    }
    else if(Array.isArray(ids)) {
        ids.forEach(item => testArr.push(item))
        return testArr
    }else {
        return testArr
    }
}
let arr3:number[] = [4,5,6]
console.log(opterArr(3))

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值