typescript相关

本文详细介绍了TypeScript中的数据类型,包括布尔型、数字、字符串、数组、枚举、任意类型、无类型、元组、Null和Undefined、Never类型、Object、解构以及接口和类的使用。此外,还提到了在Angular中使用TypeScript时的[value]和[ngValue]问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ts基本数据类型:

一、布尔类型(Boolean)
var isDone: boolean = true ;

二、数字类型(Number)  23
var num: number = 9;

三、字符串类型(Sring)
var str: string = 'hello world'

四、数组类型(Sring)两种方式

【1】var arr: number[] = [22,3,45,2]
【2】var arr:Array<number> = [22,3,45,2]

五、枚举类型(Enum)
枚举类型中的成员开始的索引是0,可以手动修改

enum Color {Red, Green, Blue}
let c: Color = Color.Green;

六、任意类型(Any)

let notSure: any = 4;
let list:any[] = [1, true, "free"];

七、无类型(void)

 函数没有返回值
function warnUser(): void {
    alert("This is my warning message");}

八、元组 Tuple

let x: [string, number];
x = ['hello', 10]; // OK
x = [10, 'hello']; // Error

当访问一个越界的元素,会使用联合类型替代:

x[3] = 'world'; // OK, 字符串可以赋值给(string | number)类型

九、Null和Undefined

十、Never类型

never类型表示的是那些永不存在的值的类型

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

十一、Object
object表示非原始类型,也就是除number,string,boolean,symbol,null或undefined之外的类型。


解构数组:

let input = [1, 2];
let [first, second] = input;
console.log(first); // outputs 1
console.log(second); // outputs 2

可以在数组里使用...语法创建剩余变量:

let [first, ...rest] = [1, 2, 3, 4];
console.log(first); // outputs 1
console.log(rest); // outputs [ 2, 3, 4 ]


对象解构:

let o = {
    a: "foo",
    b: 12,
    c: "bar"
};
let { a, b } = o;
console.log(0.b);//12


let { a, ...passthrough } = o;
let total = passthrough.b + passthrough.c.length;//15

展开:

数组展开:
let first = [1, 2];
let second = [3, 4];
let bothPlus = [0, ...first, ...second, 5];
console.log(bothPlus);//[0, 1, 2, 3, 4, 5]

对象展开:
let defaults = { food: "spicy", price: "$$", ambiance: "noisy" };
let search = { ...defaults, food: "rich" };
console.log(search);//{ food: "rich", price: "$$", ambiance: "noisy" }


接口和类:
interface -- 接口只声明成员方法,不做实现。
class -- 类声明并实现方法。


readonly vs const
最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用 const,若做为属性则使用readonly。

[value]和[ngValue]问题
angular nz-table就不会有此问题,底层已经解决啦。
angular material中的下拉框中如果数据时从后台读取的,并且有“请选择”选项,当第一次选择有值的选项时没有问题,当第二次选择“请选择”选项时会多发次请求,其实这个请求是多余的。
原因:传值的问题,后台接收string;如果[value]传的值是string,那么‘null’传后台的话,就是string,改为[ngValue]的话,传的就是object,后台就读取不了。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值