今天来说说简单数据类型 javaScript 的简单数据类型有 7 中 string , boolean , number , null , undefined 简称 五虎上将 还有 左右护法 symbol , bigInt 今天主要谈弹 五虎上将 在 typeScript 中的表现 , 在介绍 哼哈二将 void,any 给 他们认识。 在这里提醒大家 , 可以在目标文件夹下面 运行 tsc --init来初始化, 这样就会生成 一个 名为 tsconfig.json 的文件 , 大家可以在这里面进行配置 。
1.布尔
let boo: boolean = false
console.log(boo)
let bool: Boolean = false
console.log(bool)
let boole : boolean = new Boolean(1)
console.log(typeof new Boolean(1))
let boolea: Boolean = new Boolean(1)
console.log(boolea)
前两个的运行结果看似没有问题 ,注意区别 ,然后再看后两个,new Boolean() 与 false 的类型不一样 , 因为Boolean 是js 里面的构造函数 , 然后你 new 了 , 自然得到对象 , 再去思考 :boolean 与 :Boolean ,后者并不能完全的区分数据类型, 所以 以后还是用 :boolean ,后面一样的,不在赘述。
2.数值
let num: number = 0b1010
let numb: number = 0o766
console.log(num)
console.log(numb)
3.字符串
let num: number = 1
let str: string = '明天周末放假了'
let strs: string = `${str},距离过年还有${num}个月`
console.log(strs)
ts 也是支持模板字符串的 , 请放心食用
4.null 与 undefined
let n: null = null
let u: undefined = undefined
console.log(n)
console.log(u)
基础食用 ,
观察如下代码的赋值情况, 程序并没有报错
let num: number = 12
let u: undefined = undefined
num = u
console.log(num)
let str: string = 'ts真好玩'
let n: null = null
str = n
console.log(str)
.
.
.
.
.
.
结论 : null 与 undefined 类型的变量可以赋值给其他类型的变量 问 :这是为啥呢 , 明明数据类型都不一样 答 :undefined 和 null 是所有类型的子类型 ,所以才可以这样的 (记得关闭 tsconfig.json中的"strictNullChecks": false 默认是)大概意思 在进行类型检查时,要考虑’ null ‘和’ undefined ',而我们选择false ,就是把它关闭了
5.空值 (void)
let vo: void = undefined
function voi(): void {
console.log('我没有return哦')
}
如果一个函数没有返回值就把他赋值成void , 注意写的地方哦。 大家可能还会提到这样一个疑问 ,只能赋值为undefined 那不是可 undefined 类型一样了么 。 前面说过 undefined 与 null 是所有类型的子类呀,而这个void 就不能赋值给其他变量。因为它不是儿子呀。
6.任意值 (any)
let an: any = '123'
an = 333
console.log(an)
这个any该怎么说呢.正如网友所说 流畅的很,爽得很,但是它不严谨啊,它不中用啊!!!
|