【TS】JS/TS 类型转换、变量声明、解构与展开,以及五个 falsy 值

类型转化:

 

任意类型转字符串

  1. String(x) (全局函数)
  2. x.toString()   (局限性大,2个不能用)(ts:数字转字符串,用这个)
  3. x + '' (这个更常用)

 

任意类型转布尔

  1. Boolean(x)  (全局函数)(ts:用这个)
  2. !!x  (老手用这个)

 

但,不要总想把一些东西变成布尔,或许可以直接判断在不在:if (x!==undefined)

 

任意类型转数字

  1. Number(x)
  2. parseInt(x, 10)  (别人考,问的多) (ts:字符串转数字,用这个)
  3. parseFloat(x) (ts:小数就用这个)
  4. x - 0 (一般用这种,最常用,因为好理解)(ts禁用)
  5. +x  (取正的意思,容易理解错)

 

对象转字符串

JSON.stringify()

 

字符串转对象

JSON.parse()

 

变量声明

var (永远不要用,垃圾js带来的垃圾语法)

const  常量(1.声明赋值在一行。2.只能赋值一次)

let 变量(1.不能重复声明。2.声明之前不能使用)

 

解构:

 

对象解构

let obj = {
  name: 'sparks',
  age: 25,
  nation: 'China',
};

//解构
let { name, age, nation } = obj;

数组解构

let arr = ['apple', 'orange', 'pear'];

let [fruit1, fruit2, fruit3] = arr;

函数参数解构

function sayHi({ name, age }: any) {
  console.log(`Hi, ${name}, ${age}`);
}

sayHi({ name: 'frank', age: 18 });

 

展开:

 

数组展开

...(三个点表始拷贝)

let a1 = [1,2,3];
let a2 = [4,5,6];
lat a3 = [...a1,...a2];
console.log(a3) //[1,2,3,4,5,6]

对象展开

let o1 = { name:'sparks', age: 18};
let o2 = { nation:'China'};
let o3 = {...o1,...o2};
console.log(o3) // {name:'frank', age: 18, nation: "China"}

 

 

五个 falsy 值:

所有的值里面,只有5个值,变成布尔是 false,其他的值都是 true  (最好背下来)

  • number (0,NaN) 
  • 空字符串("" or '' or ``
  • null  (它本身)
  • undefined  (它本身)

所有的对象都是 true

 

 

parseInt('011') 是多少  //11

  • 以前 0 开头的就是八进制,后来 ES 升级了,几进制是由第二个参数决定的,默认是10。
  • 比如:parseInt('011',8)  // 9
  • parseInt('011',10)  // 11

 

 

你可能感兴趣的:(前端)