共计 877 个字符,预计需要花费 3 分钟才能阅读完成。
概述
javascript 是一种弱类型语言,弱类型很随意,很灵活,这是它的优点,同时也是它的缺点;同一个变量,既可以是数值型,也可以是字符串型,还可以是其他各种对象类型,在 js 中,给你一个变量名,你能一眼就确定它的类型吗,恐怕大多数情况下,你不能确定吧,即使最开始是一个数字赋值给了它,你咋知道中间的代码不会把它变成其他类型呢。
强类型和弱类型
首先让我们简单区分一下什么是强类型和弱类型语言吧,当然 js 是名副其实的弱类型语言
强类型
给定一个变量,首先得声明它的类型 int a; 当然可以同时给它赋初值,int a = 1;。后续我们如果给它赋值,只能赋值为整型的,a = 2;,如果你想给它赋值为字符串型,如 a = “xxx”; 编译器直接就给你报错了,所以也谈不上后续的过程了。
弱类型
弱类型语言就没有这些限制
下面步入正题
typescript
typescript 是 javascript 的超集,完全兼容 javascript,但又扩展了许多功能,相信在了解之后你会爱上它的,为什么这么说呢,因为给定你一个对象,你可以借助于编辑器的只能提示,一窥它里面有哪些属性,那些方法等,不用到处找定义。typescript 的官网在此
声明变量类型的形式为 var a: Type,Type 为类型,一旦声明了 Type 类型,后续 a 只能接收 Type 类型,不能接收其他类型,因为编辑器会给你智能提醒的,当然编译的时候,也会给你错误的。
基本类型
基本类型有 number,string,boolean,undefined,null
var v1: number = 1
var v2: string = ‘hello’
var v3: boolean = true
var v4: undefined = undefined
var v5: null = null
数组类型
// 字串数组
var arr_s: string[] = [‘xxx’, ‘yyy’]
// 数字数组
var arr_n: number[] = [1, 2]
枚举
enum Gendar {
male,
female
}
var g: Gendar = Gendar.male
万能类型
any 也就是相当于没有声明任何类型了
var a: any = 123