0
点赞
收藏
分享

微信扫一扫

STM32开发(二十二)STM32F103 高级外设 —— 灵活的静态存储器控制器FSMC 详解

小a草 2023-06-02 阅读 87
typescript

string类型

//普通声明
let a: string = 'lx'
​
//也可以使用es6的字符串模板
let str: string = `DayDayUp${a}`

number 类型

支持十六进制、十进制、八进制和二进制;

let notANumber: number = NaN;  //Nan
let num: number = 123;         //普通数字
let infinityNumber: number = Infinity; //无穷大
let decimal: number = 6;      //十进制
let hex: number = 0xf00d;     //十六进制
let binary: number = 0b1010;  //二进制
let octal: number = 0o744;    //八进制s

Boolean 类型

注意,使用构造函数 Boolean 创造的对象不是布尔值:

// 这样会报错 应为事实上 new Boolean() 返回的是一个 Boolean 对象 
let createdBoolean: boolean = new Boolean(1) // 错误 

// 事实上 new Boolean() 返回的是一个 Boolean 对象 需要改成
let createdBoolean1: Boolean = new Boolean(1)

let booleand: boolean = true        //可以直接使用布尔值 
let booleand2: boolean = Boolean(1) //也可以通过函数返回布尔值

Void 空值类型

JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void 表示没有任何返回值的函数

function voidFn(): void {
    console.log('test void')
}

void 类型的用法,主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数。

void也可以定义undefined 和 null类型

let u: void = undefined
let n: void = null;

Null和undefined类型

let u: undefined = undefined;//定义undefined
let n: null = null;//定义null

void 和 undefined 和 null 最大的区别? 

void 的区别是: undefinednull 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量:

// 这样写会报错 void 类型不可以分给其它类型
let test: void = undefined
let num2: string = "1"
 num2 = test

// 这样是没问题的(需要关闭严格模式)
let test: null = null
let num2: string = "1"
num2 = test
 
// 或者这样的 (需要关闭严格模式)
let test: undefined = undefined
let num2: string = "1"
num2 = test

TIPS 注意:

如果你配置了tsconfig.json 开启了严格模式;

{
    "compilerOptions":{
        "strict": true
    }
}
// 不能将类型“null”分配给类型“void”
let n:void = null; //错误
let u:void = undefined // 正确

// 开启严格模式是不可以交换夫赋值的
n = u
u = n
console.log(n,u);

 

举报

相关推荐

0 条评论