TS 之任意值

发布于 2023-05-04 21:20:08 字数 1060 浏览 58 评论 0

任意值(Any)用来表示允许赋值为任意类型。

一、什么是任意值类型?

如果是一个普通类型,在赋值过程中改变类型是不被允许的:

let myFavoriteNumber: string = 'seven';
myFavoriteNumber = 7;

// Type '7' is not assignable to type 'string'.

但如果是 any 类型,则被允许赋值为任意类型。

let myFavoriteNumber: any = 'seven';
myFavoriteNumber = 7;

二、任意值的属性和方法

在任意值上访问任何属性、任何方法都是允许的:

let anything: any = 'Hello';
console.log(anyThing.myName);
console.log(anyThing.myName.firstName);

let anything2: any = 'Frankie';
anything2.setName('Mandy');
anything2.setName('Mandy').sayHello();
anything2.myName.setFirstName('Ada');

可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容都是任意值。

三、未声明类型的变量

变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型:

let something;
something = 'seven';
something = 7;
something.setName('Frankie');

// 这里先说下后面要介绍的“类型推论”
// let something 会被推断成 any 类型;
// let something = 7 会被推断成 number 类型

等价于:

let something: any;
something = 'seven';
something = 7;

something.setName('Frankie');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

梦归所梦

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

eins

文章 0 评论 0

世界等同你

文章 0 评论 0

毒初莱肆砂笔

文章 0 评论 0

初雪

文章 0 评论 0

miao

文章 0 评论 0

qq_zQQHIW

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文