我是靠谱客的博主 简单钢铁侠,最近开发中收集的这篇文章主要介绍TS学习笔记(ts基础类型 类型别名)VoidNeverObject类型断言 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

中文文档网址  https://www.tslang.cn/docs/home.html

 

https://ts.xcatliu.com

与js不同的是  ts的变量都可以类型注解 : 后面注明变量类型

let isDone: boolean = false;

与js的类型相比多出的 比如枚举(个人理解 将对象数据化了 类似数组通过下角标得到值)

enum Color {Red, Green, Blue}
let c: Color = Color[0];
console.log(c)//Red

//也可以手动添加下角标

enum Color {Red = 1, Green, Blue}
let c: Color = Colorp[1];

//如果不手动添加的话  默认是从0开始的

any 可以是任何类型

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

Void

某种程度上来说,void类型像是与any类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void

声明一个void类型的变量没有什么大用,因为你只能为它赋予undefinednull

Never

never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。

Object

object表示非原始类型,也就是除numberstringbooleansymbolnullundefined之外的类型。

使用object类型,就可以更好的表示像Object.create这样的API。例如:

declare function create(o: object | null): void; 

// declare 声明变量 interface 声明接口类似

//object 感觉和对象变量没有什么区别

create({ prop: 0 }); // OK
create(null); // OK

create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error

类型断言 

明确告诉编译器这是一个什么类型的变量

let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;

//<类型> 值
// 值 as 类型

变量声明

主要说了一些ES6的一些用法  除此之外

获取块级作用域变量的一种方法

function theCityThatAlwaysSleeps() {
    let getCity;

    if (true) {
        let city = "Seattle";
        getCity = function() {
            return city;
        }
    }

    return getCity();
}

解构的重命名

let o = {
    a: "foo",
    b: 12,
    c: "bar"
};
let { a, b } = o;

let { a: newName1, b: newName2 } = o;

//其实与下面是一样的 平时解构 变量a对应属性a  现在重命名了 将属性a复制给了变量newName1
let newName1 = o.a;
let newName2 = o.b;

类型别名

type (可以给一个类型定义一个名字)多用于符合类型

type aa=number
type name=string|number
let a:name=123
let b:aa=456
console.log(a)   //123
console.log(b)   //456

字符串字面量类型

字符串字面量类型用来约束取值只能是某几个字符串中的一个。

type name1="小红"|"小明"|"小李"
function conName(name:name1):void{
    console.log(name)
}
conName("小红")  //小红 如果是这三个字符串以外的 则报错

 

最后

以上就是简单钢铁侠为你收集整理的TS学习笔记(ts基础类型 类型别名)VoidNeverObject类型断言 的全部内容,希望文章能够帮你解决TS学习笔记(ts基础类型 类型别名)VoidNeverObject类型断言 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部