json:
// 错误的方式
const row = '{name:"yanqi"}'
const rowData = JSON.parse(row) // 坑:: rowSata any
// 正确
interface Person {
name: "string"
}
const rouData1: Person = JSON.parse(row)
// | 指定变量赋值 为多种静态类型
// 变量既可以是number 也可以是 string
let tmp:number|string|Boolean|number[] = 123;
tmp = 'dfs';
tmp = true;
tmp = [1,2,2]
数组元组
// 数组
// a 数组 数组元素为任意类型
let a: [] = []
let b: any[] = []
// c 的赋值 数组 数组元素为 number or string
let c: (number | string)[] = [1, 1, 2, '3',]
// 1:数组中元素为对象怎么办
// 1.1 list 赋值为数组
// 1.2 数组元素必须是对象
// 1.3 对象中必须只能有 prduce string price number
let list: ({ prduce: string, price: number })[] = [
{ prduce: 'aa', price: 12 },
// {prduce:'aa',price:12,a:123} // bug
// {prduce:'aa'} // bug
]
interface item {
product: string
price: number
}
let lists: item[] = [
{ product: 'aa', price: 12 },
]
// 元组 适合用于 二维数组
// 1:指定数组中每个元素的类型
// 2:限定数组长度
let arr: [string, number] = ['1', 1]
// 应用
const teacherInfo1: [string, string, number][] = [
['yanqi', 'aaa', 12],
// ['fanzhen', 'ccc', 13,''], //bug
// {}, // bug
// 1 // Bug
]
// 数组和原组件的区别
// 是否限制数组长度。