typeScript-基础知识-4-3类型推论

类型推论:

如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。

什么是类型推论

以下代码虽然没有指定类型,但是会在编译的时候报错:

let myFavoriteNumber = ‘seven‘;

myFavoriteNumber = 7;

// index.ts(2,1): error TS2322: Type ‘number‘ is not assignable to type ‘string‘.

事实上,它等价于:

let myFavoriteNumber: string = ‘seven‘;

myFavoriteNumber = 7;

// index.ts(2,1): error TS2322: Type ‘number‘ is not assignable to type ‘string‘.

TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论。

如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查

let myFavoriteNumber;

myFavoriteNumber = ‘seven‘;

myFavoriteNumber = 7;

原文地址:https://www.cnblogs.com/xiao-peng-ji/p/11388819.html

时间: 2024-08-05 18:06:22

typeScript-基础知识-4-3类型推论的相关文章

C# 基础知识 (五).变量类型和字符串处理

        这篇文章是阅读<C#入门经典(Beginning C#)>书籍里面的内容,作者Karli Watson.主要包括自己缺乏的一些C#基础知识和在线笔记使用,文章主要包括C#简单变量类型和复杂变量类型.命名规则.隐式转换和显示转换.变量字符串处理等内容,都是非常基础的知识,希望对初学者有所帮助. 一. C#简单变量类型和命名规则         简单类型组成应用程序中基本构件的类型,其中主要有以下类型: 整数类型 sbyte(-128~127之间整数) byte(0~255之间整数

Linux基础知识&mdash;&mdash;shell命令类型及命令使用帮助

加入马帮有一段时间了,看到群里面大总管要检查博客,才意识到,原来我还没有写过作业.俗话说的好,时间是把杀猪刀!!!咳咳,其实想说,马哥视频忒长,内容贼多,对于文笔不好我来说,写作业压力山大啊,有木有.嗯.嗯,长话短说,进入正题. 两个星期过去,课程进度有点掉队,这篇博文主要记录基础命令课程知识,用于梳理知识点并加深印象,为今后行走linux之路打下坚实基础的好开端,完成该博文并回顾相关知识点后,期望加快学习步伐,稳扎稳打,跟上进度,good good study,day day up! 1.  

Python基础知识之基本类型、循环

1.python基本类型有:数字.字符串.列表.元组.字典. (1)数字类型有如下类型: int(有符号整型)   long(长整型[也可以代表八进制和十六进制])   float(浮点型)   complex(复数) (2)字符串:字符串或串(String)是由数字.字母.下划线组成的一串字符. (3)列表:列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. (4)元组:Python的元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. (

C#基础知识之一

C#基础知识 1.类型:13种预定义简单类型,2种预定义非简单类型object.string ,6种用户自定义类型class.struct.array.enum.delegate.interface. 2.对于一个引用类型,其实例的数据成员存放在堆里,无论实例的成员是值类型还是引用类型. 3.本地变量在未赋值之前不能使用. 4.数据成员:存储与类或类实例相关的数据.函数成员:执行代码. 5.字段是数据成员,方法是函数成员. 6.在类型的外部不能声明全局变量(也就是变量或字段),必须在类型声明内部

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值

TypeScript入门-枚举、类型推论

枚举 使用枚举可以定义一些具有名字的数字常量,和在C语言中一样都是使用关键字enum enum Direction { Up = 1, Down = 1<<2, Left, Right } 注意:一个枚举类型可以有多个枚举成员,每个枚举成员都有一个对应的数字值,这个数字值可以是常数或者是计算得出的值.当满足下列条件时,枚举成员的数字值被认为是常数 不具有初始化函数并且之前的枚举成员是常数. 在这种情况下,当前枚举成员的值为上一个枚举成员的值加1. 但第一个枚举元素是个例外. 如果它没有初始化方

基础知识漫谈(2):从设计UI框架开始

说UI能延展出一丢丢的东西来,光java就有swing,swt/jface乃至javafx等等UI toolkit,在桌面上它们甚至都不是主流,在web端又有canvas.svg等等. 基于这些UI工具包\框架,又产生了大量通用的或者业务性的UI框架,比如Draw2d.GEF.easyUI乃至国内的EChart.白鹭等等. 这些框架的业务范围各异,一个程序员的时间和精力有限,你不可能全部都掌握,又不能预言出是哪一个将来会独步天下,甚至,连当前哪一个最流行,都够打一阵嘴炮. 那,我们应该学什么?

基础知识漫谈(1): 想到哪儿写到哪儿

一.想到哪儿写到哪儿 给公司新员工培训,和网上的新手做交流,我最先强调的都是基础. 基础有什么用? 1.节省沟通成本 有天,java群里来了个新人,上来就提了一个问题: “我代码跑不起来,怎么办?” 这一看就是还没入门,没办法提供具体的信息. 于是有个有耐心的老鸟出来了,开始了一连串提问:异常栈看一下?有编译期异常吗?贴出你的main函数看看? 新人收到了问题并且抛出了你都在说什么异常. “你还是截图吧.”老鸟说. 这里涉及到了异常栈,编译期,main函数等等再基础不过的知识,有那么部分毫不客气

[转]基础知识漫谈(1): 想到哪儿写到哪儿

[转]基础知识漫谈(1): 想到哪儿写到哪儿 本文转自(http://www.cnblogs.com/anrainie/p/5606570.html) 一.想到哪儿写到哪儿 给公司新员工培训,和网上的新手做交流,我最先强调的都是基础. 基础有什么用? 1.节省沟通成本 有天,java群里来了个新人,上来就提了一个问题: “我代码跑不起来,怎么办?” 这一看就是还没入门,没办法提供具体的信息. 于是有个有耐心的老鸟出来了,开始了一连串提问:异常栈看一下?有编译期异常吗?贴出你的main函数看看?