第二章 TypeScript

Angular是用TypeScript构建的
  1. TypeScriptES6的超集,所有ES6代码都是完全有效且可编译的TypeScript代码。
  2. ES5ECMAScript5的缩写,也被称为“普通的JavaScript”,ES6则是下一个版本的JavaScript
  3. 全局安装TypeScript环境:npm install -g typescript
TypeScript的特性

五大特性:类型,类,注解,模块导入,语言工具包。

类型

为变量名提供可选的变量类型,为函数参数和返回值指定类型。

内置类型:

  1. 字符串string类型
let name : string = 'Felipe';
  1. 数字number类型
let age : number = 36;
  1. 布尔boolean类型
let married : boolean = true;
  1. 数组Array<type>或者type[ ]类型
let jobs : Array<string> = ['IBM', 'Microsoft', 'Google'];
let jobs : string[ ]=['IBM', 'Microsoft', 'Google'];
  1. 枚举enum类型

    是一组可命名数值的集合。
    5.

enum Role {Employee, Manger, Admin};
let role : Role = Role.Employee;

默认情况下枚举类型的初始值是0,我们可以进行调整。枚举中其它项的值是依次进行递增的。也可单独为枚举中的每项指定值。

enum Role {Employee = 3, Manger, Admin};
let role : Role = Role.Employee;
  1. 任意any类型

    能够接收任意类型的数据。

let something : any ='as string';
let something =1;
  1. void类型

    意味着不期望那里有类型,通常用作函数的返回值,表示没有任何返回值。

function setName(name : string) : void{
  this.name=name;
}

class关键字来定义一个类,紧随其后的是类名和类的代码块,类可以包含属性、方法及构造函数。

  1. 属性:定义了类实例对象的数据,类中的每个属性都可以包含一个可选的类型。
class Person {
  first_name : string;
  last_name : string;
  age : number;
}
  1. 方法:运行在类对象实例上下文中的函数。在调用对象的方法之前,必须要有这个对象的实例。

    借助this关键字,可以用his.first_name表达式来访问Person类的frist_name属性。如果没有显式的声明过方法的返回类型和返回值,就会假定它可以返回任何东西,这里没有显式的return语句,所以实际返回的类型是void

class Person {
  irst_name : string;
  last_name : string;
  age : number;
  
  greet(){
    console.log("hello",this.first_name)
  }
}
  1. 构造函数:当类型进行实例化时执行的特殊函数。通常会在构造函数中对新对象进行初始化工作。构造函数必须命名为constructor,因为构造函数是在类被实例化时调用的,所以它们可以有输入参数,但不能有任何返回值。
class Person {
  irst_name : string;
  last_name : string;
  age : number;
  
  constructor(first_name : string, last_name : string, age : number){
    this.first_name = frist_name;
    this.last_name = last_name;
    this.age = age;
  }
  
  greet(){
    console.log("hello",this.first_name)
  }
}

let p : Person = new Person('Felipe', 'Coury', 36);
p.greet();
  1. 继承:子类能够从父类得到它的行为,然后,我们可以在这个子类中重写、修改及添加行为。用extends关键字实现。
class Report {
 	data:  Array<string>;
  
  constructor(data : Array<string>){
    this.data = data;
  }
  
  run(){
    this.data.forEach(function(line){
      console.log(line);
    })
  }
}
class TabbedReport extends Report{
  headers : Array<string>;
  
  constructor(headers : string[], values : string[]){
    super(values)
  }
}
工具
  1. 胖箭头(=>)函数是一种快速书写函数的简洁语法。它和环绕它的外部代码共享一个this
  2. 模板字符串(``):可以使用变量,支持多行字符串。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用for循环或for...of循环来遍历二维数组。例如: for(let i=0;i<arr.length;i++){ for(let j=0;j<arr[i].length;j++){ console.log(arr[i][j]); } } 或 for(let row of arr){ for(let element of row){ console.log(element); } } ### 回答2: 在 TypeScript 中,遍历二维数组有多种方式可以实现。以下是常用的几种方法: 1. 使用 for 循环嵌套遍历二维数组: ```typescript const arr: number[][] = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr[i].length; j++) { console.log(arr[i][j]); // 输出数组元素 } } ``` 2. 使用 forEach 方法遍历二维数组: ```typescript const arr: number[][] = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; arr.forEach((row: number[]) => { row.forEach((item: number) => { console.log(item); // 输出数组元素 }); }); ``` 3. 使用 for...of 循环遍历二维数组: ```typescript const arr: number[][] = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; for (const row of arr) { for (const item of row) { console.log(item); // 输出数组元素 } } ``` 以上是几种常见的遍历二维数组的方式,根据不同的需求选择适合的方法进行遍历操作。 ### 回答3: 在Typescript中遍历二维数组可以使用嵌套的for循环。下面是示例代码: ```typescript let matrix: number[][] = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; for (let i = 0; i < matrix.length; i++) { for (let j = 0; j < matrix[i].length; j++) { console.log(matrix[i][j]); } } ``` 这段代码首先定义了一个二维数组`matrix`,然后使用嵌套的for循环来遍历该数组。外层循环用于遍历行,内层循环用于遍历列。在循环体中,可以通过`matrix[i][j]`来访问二维数组中的元素,并对其进行相应的操作。 以上代码会依次输出1、2、3、4、5、6、7、8、9,表示成功遍历了二维数组中的所有元素。 需要注意的是,以上示例是针对二维数字数组的情况。如果二维数组是由其他类型的元素组成,可以根据实际情况来替换元素类型和遍历过程中的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值