Evan's blog Evan's blog
首页
关于
  • 分类
  • 标签
  • 归档
  • H5&CSS3
  • JS
  • TS
  • Node
  • Webpack
  • Vue2
  • Vue3
  • 微信小程序
  • Andorid
  • Flutter
推荐
GitHub (opens new window)

conanan

真相只有一个
首页
关于
  • 分类
  • 标签
  • 归档
  • H5&CSS3
  • JS
  • TS
  • Node
  • Webpack
  • Vue2
  • Vue3
  • 微信小程序
  • Andorid
  • Flutter
推荐
GitHub (opens new window)
  • 入门
  • JS变量类型
    • 变量的定义格式
    • number类型的使用
    • boolean类型的使用
    • string类型的使用
    • array类型的使用
    • object类型的使用
    • null和undefined类型
    • symbol类型
  • TS专属数据类型&使用
  • TS函数
  • TS类
  • TS接口 🔥
  • TS泛型 🔥
  • TS补充
  • TS
xugaoyi
2022-03-25
目录

JS变量类型

# JS变量类型

# 变量的定义格式

// 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的字符串包装类的类型
const message: string = "Hello World"

// 默认情况下进行赋值时, 会将赋值的值的类型, 作为前面标识符的类型
// 这个过程称之为类型推导/推断
// foo没有添加类型注解
let foo = "foo"
// foo = 123

export {}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# number类型的使用

数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型 (double),统一为number类型

let num: number = 123
num = 222

// num = "123"

let num1: number = 100 
let num2: number = 0b100
let num3: number = 0o100
let num4: number = 0x100

console.log(num1, num2, num3, num4)
1
2
3
4
5
6
7
8
9
10
11

# boolean类型的使用

let flag: boolean = true
flag = 20 > 30
1
2

# string类型的使用

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 {}
1
2
3
4
5
6
7
8
9
10
11
12
13

# array类型的使用

// 确定一个事实: names是一个数组类型, 但是数组中存放的是什么类型的元素呢?
// 不好的习惯: 一个数组中在TypeScript开发中, 最好存放的数据类型是固定的(string)
// 类型注解: type annotation
const names1: Array<string> = [] // 不推荐(react jsx中是有冲突   <div></div>)
const names2: string[] = [] // 推荐

// 在数组中存放不同的类型是不好的习惯
// names.push("abc")
// // names.push(123)
1
2
3
4
5
6
7
8
9

# object类型的使用

注意不要声明为object类型,否则无法从中取属性、对属性赋值!

const info = {
  name: "why",
  age: 18
}

console.log(info.name)
1
2
3
4
5
6

# null和undefined类型

let n1: null = null
let n2: undefined = undefined
1
2

# symbol类型

通过symbol来定义相同的名称,因为Symbol函数返回的是不同的值。使得可以在对象中添加相同的属性名称的

const title1 = Symbol("title")
const title2 = Symbol('title')

const info = {
  [title1]: "程序员",
  [title2]: "老师"
}

export {}
1
2
3
4
5
6
7
8
9
编辑 (opens new window)
上次更新: 2022/03/29, 17:35:37
入门
TS专属数据类型&使用

← 入门 TS专属数据类型&使用→

最近更新
01
重点
04-12
02
搭建项目
04-04
03
TS补充
03-30
更多文章>
Theme by Vdoing | Copyright © 2019-2022 conanan | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式