1、参数类型:在参数名称后面使用冒号来指定参数的类型
var myname:string = 'wzn'
=>
"use strict";
var myname = 'wzn';
这个时候就申明了一个字符串类型的变量myname,赋值类型后,后面再对这个值赋值的时候会去检查。如果后续赋值为数字,编辑器就会提示,不能把数字赋值给字符串。虽然有提醒,但是编译以后的js代码是不会错的

当没有申明变量是字符串类型的时候,后续赋值为数字,ts也会报错,这是因为ts中有一个机制,叫做类型推断机制。赋值为字符串,后面就认为这个变变量是字符串。

那么我确实是这个变量既能是字符串,也能是数字,就申明变量类型为any。说明这个变量可以是任何值

 
除了string和any以外,ts还有其他几种类型
数字
var age:number = 13
=>
"use strict";
var age = 13;
布尔
var man:boolean = true
=>
"use strict";
var man = true;
是否有返回值
function test(): void{}
=>
"use strict";
function test() {
}

这个标示不需要任何返回值

function test(): string{
return ''
}
=>
"use strict";
function test() {
return '';
}
声明一个string类型的返回值
function test(name: string){}
test('')
=>
"use strict";
function test(name) { }
test('');
给方法变量声明类型,调用的时候,参数只能是字符串类型
自定义类型
class Person {
name: string;
age: number
}
var zhangsan: Person = new Person();
zhangsan.name = 'zhangsna',
zhangsan.age = 19
2、默认参数:在参数声明后面用等号来指定参数的默认值
function test(a: string, b: string, c: string) {
console.log(a);
console.log(b);
console.log(c);
}
test('xx', 'yy', 'zz')
这个时候要传三个参数,传一个或两个都不行,数量不够,这时候可以给参数指定默认值,这个时候就只传两个参数
function test(a: string, b: string, c: string='zina') {
console.log(a);
console.log(b);
console.log(c);
}
test('xx', 'yy')
带默认值的参数必须写最后面
3、可选参数:在方法的参数声明后面用问号来标明此参数为可选参数
function test(a: string, b?: string, c: string='zina') {
console.log(a);
console.log(b);
console.log(c);
}
这样表示b是可选参数,在调用的时候可以只调用一个参数
function test(a: string, b?: string, c: string='zina') {
console.log(a);
console.log(b);
console.log(c);
}
test('xx')
这样的结果是,a参数是'xx',b参数的undefined,c参数的默认值是zina
注意:一个必填的参数不能在可选参数后面

typescript 参数类型的更多相关文章

  1. TypeScript泛型类 - 把类作为参数类型的泛型类

    /* TypeScript泛型类 - 把类作为参数类型的泛型类 */ /* 泛类:泛型可以帮助我们避免重复的代码以及对不特定数据类型的支持(类型校验),下面我们看看把类当做参数的泛型类 1.定义个类 ...

  2. C# vs TypeScript - 高级类型

    总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...

  3. 从C#到TypeScript - 高级类型

    C# vs TypeScript - 高级类型 上一篇讲了基础类型,基本上用基础类型足够开发了,不过如果要更高效的开发,还是要看下高级类型,这篇和C#共同点并不多,只是延用这个主题. 联合类型 可以从 ...

  4. TypeScript基础类型,类实例和函数类型声明

    TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...

  5. typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)

    枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...

  6. TypeScript 之 类型推导

    https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Type%20Inference.html 类型推导:发生在初始化变 ...

  7. TypeScript 高级类型 接口(interface)

    在代码的实现或者调用上能设定一定的限制和规范,就像契约一样.通常,我们把这种契约称为接口. TypeScript的核心原则之一是对值所具有的结构进行类型检查. 有时称为“鸭式辨型法”或“结构性子类型化 ...

  8. TypeScript入门三:TypeScript函数类型

    TypeScript函数类型 TypeScript函数的参数 TypeScript函数的this与箭头函数 TypeScript函数重载 一.TypeScript函数类型 在上一篇博客中已经对声明Ty ...

  9. 编写TypeScript工具类型,你需要知道的知识

    什么是工具类型 用 JavaScript 编写中大型程序是离不开 lodash 工具的,而用 TypeScript 编程同样离不开工具类型的帮助,工具类型就是类型版的 lodash .简单的来说,就是 ...

随机推荐

  1. springboot入门简单,深入难

    18年1月份的时候在腾讯课堂学习springboot.springcloud搭建微服务,老师告诉我们,springboot入门容易,深入难. 因为你必须东西SpringMVC.Spring.Mybat ...

  2. 570. Managers with at Least 5 Direct Reports 至少有5个直接汇报员工的经理

    The Employee table holds all employees including their managers. Every employee has an Id, and there ...

  3. Java语言和JVM的使用说明书

    Java Language and Virtual Machine Specifications 详细介绍了Java语言各个版本的功能/JVM的工作原理 建议详读/深度 各个版本,在线看或者pdf下载

  4. 在ObjectARX中创建OPM项目的时候出现 MIDL1012: argument illegal for switch / header错误的解决方式

    修改为 这样新建的带有MIDL项目就不会提示错误这个错误了. 如果你已经建立好项目,可以尝试修改MIDL的配置,头文件可能是.h没有文件名,所以出现MIDL1012错误,修改为项目名称的.h即可,保持 ...

  5. centos 如何修改docker镜像和容器的默认存放路径

    原因:通过df -h查看磁盘利用的时候,目前挂载的太小了,所以尝试挂载到其他地方 1 先看看默认存放的路径在哪儿 方法1:docker info 方法2:sudo docker info | grep ...

  6. Influx Sql系列教程三:measurement 表

    在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存 ...

  7. DHCP配置实例(含DHCP中继代理)

    https://blog.51cto.com/yuanbin/109759. DHCP配置实例(含DHCP中继代理)   某公司局域网有192.168.1.0/24和192.168.2.0/24这两个 ...

  8. JavaWeb实现增删查改(图书信息管理)之删除功能实现

    —————————————————————————————————————————————————————————— 删除按钮对应的servlet -->DeleteBooks.java  ↓ ...

  9. 一起来学Spring Cloud | 第七章:分布式配置中心(Spring Cloud Config)

    上一章节,我们讲解了服务网关zuul,本章节我们从git和本地两种存储配置信息的方式来讲解springcloud的分布式配置中心-Spring Cloud Config. 一.Spring Cloud ...

  10. Zookeeper学习笔记(三)——java客户端代码操作

    Zookeeper客户端java代码操作 上篇博客记录了shell命令操作zookeeper集群的方式,这次尝试采用java代码来操作.通过查阅API,发现并不困难. 1. 首先获得客户端与服务器的连 ...