• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

TypeScript基础类型和对象类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
// 基础类型 null, undefined, symbol, boolean, void
const count: number = 123;
const teacherName: string = 'zina';

*:如果基础类型是一行的,ts 能推断出它的类型,如果是两行就不一定了

let count; // let count: any
count = 123;

这个时候,ts 并不能推断出它的类型

let count: number;
count = 123;

这才是正确的写法



// 对象类型
const teacher: {
  name: string,
  age: number
} = {
  name: 'zina',
  age: 18
}
// 可以看到基础类型很容易,对象类型是基础类型结合起来的更复杂的类型

// 数组也属于对象类型
const numbers: number[] = [1, 2, 3]
// 这种语法意思是 numbers 是一个数组,数组中的每一项必须是个 number 类型,里面任一一个改成字符串就会报错

//
class Person {}
const zina: Person = new Person();
// zina 必须是一个 Person 类对应的对象

// 函数
const getTotal: () => number = () =>{
  return 123;
}
// getTotal 是一个函数,这个函数返回值是一个 number,具体函数的实现是后面的函数

总结:对象,数组,类,函数都属于对象类型,在 ts 里面有两种,基础类型和对象类型

 
*: 扩展

函数的两种写法
/**
* 函数????️值是一个字符串类型,返回值是数字类型,字符串转数字
* @param str
* 将鼠标放在 func 上面,可以看到参数,返回值是固定了
*/
const func = (str: string): number => {
return parseInt(str, 10);
}

// 函数的第二种写法
const func1:(str: string) => number = (str) => {
return parseInt(str, 10);
}

 


// Date 类型
const date: Date = new Date();
=>
const date = new Date()
ts 能推断出 Date 类型,可以不写


// 其他的 case
const rawData = '{"name": "zina"}';
const newData = JSON.parse(rawData); // const newData: any

// JSON.parse 并不能推断出后面的类型,如果用 JSON.parse 或其他内置函数,会遇到这种问题,需要类型注解
interface Person {
  name: 'string'
}
const rawData = '{"name": "zina"}';
const newData: Person = JSON.parse(rawData);

 


let temp = 123;
temp = '456';
// 这种写法会报错,但有时候就是想同一个变量后续可以赋值成字符串怎么整
let temp: number | string = 123;
temp = '456';
// 可以在声明变量的时候加上 string 的类型,有种像或的语法,有可能是 number,也有可能是 string

 

 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap