TS变量

作者: 郑无穷大 | 来源:发表于2018-10-22 18:08 被阅读0次

数据类型

JS 七种类型 + 枚举 + any + void + never

let n:any = 1;
n = 'string';

声明了类型,若想转其他类型,可直接any;

enum Gender {
  Man = 'man',
  Woman = 'woman',
}

let gender: Gender = Gender.Man
console.log(gender);
gender = Gender.Woman;
console.log(gender);

枚举就是对有限的状态进行枚举,使用时直接拿,避免出错
若enum中没有给值,那么则为数组;
默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。


类型断言

(<string>someValue).length;
(someValue as string).length;

类型转化

let a: number = 123;
let b: string = a.toString();
// 数字变字符串
let c: string = '123';
let d: number = parseFloat(c);
//字符串变浮点数
let s1: number = 2;
let b1: boolean = Boolean(s1);
//数字变为boolean
let obj = { name: 'frank', age: 18 };
let string = JSON.stringify(obj);
console.log(typeof string);
console.log(string);
//对象转字符串
let string2 = `{"name": "frank", "age": 18}`;
let obj2 = JSON.parse(string2);
console.log(typeof obj2);
console.log(obj2);
//字符串变对象
当你在TypeScript里使用JSX时,只有 as语法断言是被允许的。

变量声明

尽量不要用 var(var很垃圾的),使用 let 和 const。变量用 let,常量用 const。

快速的猜一下下面的代码会返回什么:

for (var i = 0; i < 10; i++) {
    setTimeout(function() { console.log(i); }, 100 * i);
}

答案是

10
10
10
10
10
10
10
10
10
10
let x = 10;
let x = 20; // 错误,不能在1个作用域里多次声明x

注意 const 常量只是值不可变,如果 const 常量的值是一个地址,那么地址对应的对象的内容是可变的。

解构与展开

数组、对象都能解构与展开

{
  let obj = {
    name: 'frank',
    age: 18,
    nation: 'China',
  };

  // let name = obj.name;
  // let age = obj.age;
  // let nation = obj.nation;

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

  console.log(name, age, nation);
}

{
  let arr = ['apple', 'orange', 'pear'];
  // let fruit1 = arr[0];
  // let fruit2 = arr[1];
  // let fruit3 = arr[2];
  let [fruit1, fruit2, fruit3] = arr;
  console.log(fruit1, fruit2, fruit3);
//数组解构
}

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

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

相关文章

  • typescript 基本语法详解

    1、.d.ts是干嘛的 .d.ts文件是ts用来声明变量,模块,type,interface等等,声明变量之后,在...

  • TS变量

    数据类型 JS 七种类型 + 枚举 + any + void + never 声明了类型,若想转其他类型,可直接a...

  • 【TS】变量

    let const 类型推断 当未明确给出类型时,会在第一次赋值时,根据值来推断类型 数组解构 对象解构 数组展开...

  • TS的.d.ts和declare

    一、.d.ts d.ts文件是ts用来声明变量,模块,type,interface等等的,那在这种后缀的ts文件声...

  • umijs@use-request源码解读

    一、了解ts基本语法 涉及ts的变量声明、接口、类、函数、泛型等 ts语法知识[https://typescrip...

  • typescript 中的数据类型

    在ts中,必须设置变量的数据格式。 类型推断 你在初始化变量时并没有明确地指定变量类型的话,则ts会自动根据变量的...

  • 用 Jest 测试一切你想测试的

    测试环境变量 mysql.ts mysql.spec.ts 说明 beforeEach 每次执行一个it方法后执行...

  • .bat文件执行cmd命令生成qt翻译文件ts和qm

    生成ts 转换成qm qt中执行生成相对路径的ts文件pro的cmd窗口中(只更新) 翻译变量:全局变量时可先写成...

  • ts 命名空间

    1. ts 命名空间内元素的导出和导入 新建 student.ts,创建命名空间,导出接口、类、函数、变量 新建 ...

  • 2、TS 变量与数据类型

    1、js与ts区别一: js不需要声明变量类型,如果一开始变量的值是字符串,后面变改成了数值,也没有关系 但是ts...

网友评论

      本文标题:TS变量

      本文链接:https://www.haomeiwen.com/subject/ukagzftx.html