`

TypeScript语法基础 - 函数用法

阅读更多

   1. 函数中声明法

function run1():string{

return '1222'

}

 

   2. 匿名函数

var fun2=function():number{

return 11;

}

console.log(fun2()); //调用方法

 

   3. 中定义传参

function getInfo(name:string,age:number):string{

return `${name}---${age}`

}

console.log(getInfo('zhangsan',20));

 

   4. 没有返回值的方法

function run2():void{

console.log('1111');

}

run2();

 

   5. 方法可选参数 要使用? 注意可选参数必须配置到参数的最后面

function getInfo1(name:string,age?:number):string{

if(age){

return `${name}---${age}`

}else{

return `${name}---年龄保密`

}

}

console.log(getInfo1('张三'));

console.log(getInfo1('张三',122));

 

   6. 默认参数

function getInfo2(name:string,age:number=20):string{

if(age){

return `${name}---${age}`

}else{

return `${name}---年龄保密`

}

}

console.log(getInfo2('张三'));

console.log(getInfo2('张三',122));

 

   7. 剩余参数,三点运算符 接收新参数传过来的值

 a. 第一种写法

function sum(...result:number[]):number{

let sum=0;

for(var i=0; i < result.length; i++){

sum+=result[i]

}

return sum;

}

console.log(sum(1,3,7)); //11

 

b. 第二种写法

function sum1(a:number,b:number,...result:number[]):number{

let sum=a+b;

for(var i=0; i < result.length; i++){

sum+=result[i]

}

return sum;

}

console.log(sum1(1,3,7,333)); //344

 

   8. 函数重载

样例一:

function getInfo3(name:string):string;

function getInfo3(age:number):string;

function getInfo3(str:any):any{

if(typeof str==='string'){

//字符串类型

return '我叫:'+str

}else{

//数字类型

return '我的年龄是:'+str

}

}

console.log(getInfo3('张三')); //正确

console.log(getInfo3(1222)); //正确

// console.log(getInfo3(true)); 报错

样例二:

function getInfo4(name:string):string;

function getInfo4(name:string,age:number):string;

function getInfo4(name:any,age?:any):any{

if(age){

return '我叫:'+name+'年龄是'+age

}else{

return '我叫:'+name

}

}

console.log(getInfo4('张三')); //正确 我叫:张三

console.log(getInfo4('猪头',111)); //正确 我叫:猪头年龄是111

 

   9. 箭头函数 es6 箭头函数里面的this指向上下文

setTimeout(()=>{

console.log('run')

},1000)

分享到:
评论

相关推荐

    react-to-typescript-definitions:从react组件创建Typescript定义文件(d.ts)

    instanceOf PropTypes(使用API​​并提供resolve函数时) jsdoc 用法 安装 作为npm软件包安装: npm install react-to-typescript-definitions --save-dev 或者 npm install -g react-to-typescript-...

    TypeScript 教程

    TypeScript 教程是一个TypeScript 开源教程,介绍基本概念和用法,面向初学者。需要的朋友可下载试试! 今年 3 月份快写完这份教程的时候,TypeScript 5.0 突然发布了。装饰器(Decorators)改用全新语法。因此他...

    dojo-typescript-class:一个旨在使用 TypeScript 创建 Dojo 类的实验

    这个想法是使用普通的 TypeScript/ES6 语法创建类,然后将该原型对象传递给 Dojo 的declare()函数以创建 Dojo 类,然后将 Dojo 类中有趣的部分合并回 TypeScript 中。 运行单元测试 运行此代码的测试需要几个步骤。...

    simple-http:使用TypeScript编写的轻量级AJAX库,对GET,POST,UPDATE和DELETE方法使用Angular语法

    该库使用TypeScript编写,因为该语言允许使用一些JS技巧,并在其函数声明中加入类型和Lamda语法。 ##设置并安装simple-http 这个库真的很容易安装,只需执行下一条命令即可: bower install simple-http 之后,...

    pegjs-template:使用模板字符串构建PEG.js语法

    使用模板字符串构建语法。 PEG.js语法通常只是字符串。 使用嵌入在字符串中JavaScript指定语义动作。 该库允许您使用真正JavaScript函数编写语义动作。 这有几个优点: 语法高亮显示。 代码完成和其他代码智能...

    rosebox:Typescript中CSS

    Typescript中CSS Rosebox是一个CSS-in-Typescript库,提供以下功能: 支持高质量的自动完成功能。 支持颜色突出显示和颜色选择器。 强类型(例如 )。 键入的函数(例如 )。 额外的速记属性(例如 , )。 复杂属性...

    tsPEG:用于TypeScript的PEG解析器生成器

    tsPEG:用于TypeScript的PEG解析...CLI用法CLI调用语法如下tspeg &lt;grammar&gt; &lt;output&gt; 这将生成一个TypeScript ES6模块,该模块导出解析函数以及代表AST的类。 运行tspeg --help来查看用法和可用标志。 支持的标志: --e

    typesql:TypeSQL-从原始MySQL查询生成Typescript API。 与Deno和Node兼容

    然后,您可以导入生成的代码并按以下方式执行: deno语法:一些功能: 不要限制使用SQL您不需要学习任何新的查询语言,就可以使用SQL的所有功能和表现力。 推断参数和列类型。 SELECT DATEDIFF(:date1, :date2)

    在Vue组件中使用 TypeScript的方法

    typescript不仅可以约束我们的编码习惯,还能起到注释的作用,当我们看到一函数后我们立马就能知道这个函数的用法,需要传什么值,返回值是什么类型一目了然,对大型项目的维护性有很大的提升。也不至于使开发

    tsastgen:从一个简单的规范文件生成TypeScript AST定义

    此工具使用TypeScript语言为抽象语法树(AST)生成完整的定义。 它读取普通的TypeScript文件作为规范文件,并将基于该规范自动生成类,构造函数,联合类型,访问者和谓词。 特征 将您自己的代码与tsastgen生成的代码...

    vscode-scss:所有Sass文件中的变量,混入和函数的IntelliSense(仅SCSS语法)

    只需安装插件并使用它即可。 支持的功能 代码完成建议(变量,mixin,函数)— 悬停(变量,mixin,函数)— 签名帮助(mixins,函数)— 转到(变量,mixin,函数)— 显示文件夹中的所有所有符号定义(变量,...

    Polytype:JavaScript和TypeScript的动态多重继承。 没有mixins

    多型· JavaScript和TypeScript的动态多重继承。...特征Python样式多重继承在Node.js和大多数浏览器中均可使用全面的TypeScript支持零依赖访问所有基类功能构造函数方法,获取器和设置器–静态和非静

    es-decorate:CoffeeScript 的 ES7 装饰器

    和等库开始根据中提出的 API 使用装饰器,Babel 5+ 和 TypeScript 1.5 支持该 API 另一方面,CoffeeScript 似乎不会很快添加装饰器: es-decorate填补了语法空白,提供了一个辅助函数,可以应用符合提议的装饰器 ...

    template-jsx:JSX的模板渲染引擎

    JSX模板使用JSX语法创建和渲染模板的直观方法使用此工具,您可以轻松创建模板并将其呈现为字符串。 它使用React的JSX语法制作模板。 它是提供HTML内容的后端的理想工具。安装这是一个npm软件包,您可以像这样安装在...

    关于Vue.js一些问题和思考学习笔记(2)

    前言 本文非vue教程,仅为学习...另:其他不能用vm变量,只能使用this变量的地方,都可以通过此方法来获得Typescript的智能感知和代码语法检查,比如mounted生命周期系列函数等。 不过模板里的vm引用Typescript无能为力

    AirScript:用于定义zk-STARK的脚本语言

    即使对于中等复杂的STARK,写出转换函数和约束也非常繁琐且容易出错。 AirScript旨在提供一种高级语言来简化此任务。 用法 该模块不是供独立使用的,而是库的核心组件。 不过,您可以像这样单独安装它: $ npm ...

    grex.js:JavaScript绑定到Rust grex库-https

    通过使用ES6模块语法的命名导入来导入函数: import { buildRegex } from "grex.js" ; 使用ES6模块语法导入grexJS库包装器: import grexJS from "grex.js" ; 使用require函数导入grexJS库包装器: const ...

    如何在vue中使用ts的示例代码

    本文介绍了如何在vue中使用ts的示例代码,分享给大家,具体如下: ...typescript不仅可以约束我们的编码习惯,还能起到注释的作用,当我们看到一函数后我们立马就能知道这个函数的用法,需要传什么值

    effectfuljs:JavaScript嵌入式效果编译器

    EcmaScript效果扩展(异步函数,生成器和异步生成器) 为什么不本地或其他翻译员 抽象API- 持续状态- 具体的API- ,最佳性能 隐式并行 导出程序的静态图以进行分析和转换为其他语言-WIP 多提示定界延续- 逻辑...

    odata-query:OData v4查询构建器

    OData v4查询构建器,它使用类似于和的简单的基于对象的语法 安装 yarn add odata-query 或者 npm install --save odata-query 然后使用图书馆 import buildQuery from 'odata-query' const query = buildQuery ( { ...

Global site tag (gtag.js) - Google Analytics