BigInt
在Typescript中,我们可以通过使用BigInt字面量
和使用BigInt()函数
来创建BigInt类型。这个语法是一个整数后面跟着一个小写n
,两者之间不能存在空白字符。我们还可以通过内置的Number函数将BigInt类型转为Number类型。这是一种新的类型和其他数据类型一样。
const zss = 4n;
Number(5n) // 5
展开运算符
ts中有和es6一样的展开运算符,就是...
语法。我们可以展开数组,对象,函数。数组字面量中的展开运算符可以应用在任何可迭代对象上,它的作用是将迭代产生的每个值插入数组字面量的指定位置上。对象字典量中的展示运算符会将操作数的自身可枚举属性复制到当前对象字面量中。展开对象的作用是将迭代产生的每个值当成独立的实际参数传递给函数。对象字面量可以仅由一个展开属性定义构成,相当于对象的复制操作。
const arr1 = [1, 2];
const number1 = [ ...arr1, 3, 4];
console.log(number1); // [1, 2, 3, 4];
解构
解构就是将数组或对象拆分成独立的子结构。解构的特点是赋值运算符左侧是解构赋值的目标,赋值运算符的右边是需要解构的数组或者对象。
const arr1 = [1, 2]
const [x1, y1] = arr1;
console.log(x1, x2); // 1, 2
可选链运算符
有时候我们在访问对象属性时,如果对象为undefined
或者null
时,浏览器可以访问不到而报错,所以出现了可选链运算符。这个运算符由一个?
和一个.
组成的,表现形式有可选的静态属性访问、可选的计算属性访问、可选的函数调用或方法调用。如果在可选链运算符左侧操作数的求值结果为undefined或者null,那么右侧的操作数不会再被求值。Max.max()是js的内置函数,它接受任意数量的数字参数并返回最大的数字。
let number1 = 0;
let b = undefined;
b?.[++x]; // undefined;
x; // 0
合并运算符
空值合并运算符是一个新的二元逻辑运算符,它的使用方法是??
作为标识。合并运算符的使用方法x ?? y
,当运算符左侧操作符x的值为undefined或null,返回右侧操作符y,否则就会返回左侧操作数x,当左侧运算符不为需要的值时,右侧操作数不会被求值,会直接返回左侧的操作数。