JavaScript变量的类型(二)
2022-09-19 本文已影响0人
未路过
1. 变量定义格式
- 在TypeScript定义变量(标识符)和ES6之后一致,可以使用var、let、const来定义.
- 在一个变量第一次赋值时,会根据后面的赋值内容的类型,来推断出变量的类型
// 1.类型注解
// 2.var/let/const
// 3.string和String的区别
// 4.类型推导
var name: string = "why"
let age: number = 18
const height: number = 1.88
// string: TypeScript中的字符串类型
// String: JavaScript的字符串包装类的类型
/*
如果想看ts写的标不标准,可以按照ts-lint
npm install tslint -g
然后在文件夹里面输入命令tslint --init
然后会生成tslint.json这个文件
这个样子的话,如果ts写的不规范,就会直接报错显示出来
删除这个json文件的化就代表不进行tslint
*/
// 默认情况下进行赋值时, 会将赋值的值的类型, 作为前面标识符的类型
// 这个过程称之为类型推导/推断
// foo没有添加类型注解
let foo = "foo"
// foo = 123
export{}
ts 官方网站
https://www.typescriptlang.org/
2. JavaScript类型 – number类型
let num: number = 123
num = 22
//num = "123"
let num1:number = 100
let num2:number = 0b100
let num3:number = 0o765//8进制
let num4:number = 0xffff
console.log(num1, num2, num3, num4)
//100 4 501 65535
export{}
3.JavaScript类型 – boolean类型
let flag: boolean = true
flag = 20 > 30
export {}
4.JavaScript类型 – string类型
- string类型是字符串类型,可以使用单引号或者双引号表示:
- 同时也支持ES6的模板字符串来拼接变量和字符串:
let message1: string = 'hello world'
let message2: string = "Hello World"
// 个人习惯: 默认情况下, 如果可以推导出对应的标识符的类型时, 一般情况下是不加
const name = "why"
const age = 18
const height = 1.88
let message3 = `name:${name} age:${age} height:${height}`
console.log(message3)
export {}
5.JavaScript类型 – Array类型
// 确定一个事实: names是一个数组类型, 但是数组中存放的是什么类型的元素呢?
// 不好的习惯: 一个数组中在TypeScript开发中, 最好存放的数据类型是固定的(string)
// 类型注解: type annotation
const names1: Array<string> = [] // 不推荐(react jsx中是有冲突 <div></div>)
const names2: string[] = [] // 推荐
// 在数组中存放不同的类型是不好的习惯
// names.push("abc")
// // names.push(123)
6.JavaScript类型 – Object类型
image.pngconst info = {
name: "why",
age: 18
}
console.log(info.name)
//不要使用info: object这种方式定义,直接让他自动推导出来info是对象,不然无法获取info里面属性的值
7. JavaScript类型 – Symbol类型
const title1 = Symbol("title")
const title2 = Symbol('title')
const info = {
[title1]: "程序员",
[title2]: "老师"
}
export {}
8.JavaScript类型 – null和undefined类型
let n1: null = null
let n2: undefined = undefined
//null类型只能赋值为null类型