首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeScript 函数 this 参数

TypeScript 2.0 开始,在函数和方法我们可以声明 this 类型,实际使用起来也很简单,比如: function sayHello(this: void) { // this:...void:表示在函数体内不允许使用this } 在上面的 sayHello 函数,this 参数是伪参数,它位于函数参数列表第一位。...因为以上 sayHello 函数经过编译后,并不会生成实际参数,该函数编译成 ES5 后代码如下: function sayHello() { // this: void:表示在函数体内不允许使用...在 getArea 方法我们没有使用 this 参数,此时 this 类型是 this,如下图所示: ?...在 Rectangle 长方形类 getArea 方法 this 入参只是作为一个形式上参数,供 TypeScript 做静态检查时使用,编译后并不会生成实际入参。

7.3K10

【原创】TypeScript函数以及函数参数

TypeScript函数参数 TypeScript函数 TypeScript函数写法分为有名函数,匿名函数和箭头函数。 有名函数 有名函数包含函数名,函数入参,函数返回值类型等。...let z = function(x:number,y:number):number{ return x+y; } console.log(z(1,2)); 箭头函数 Es6TypeScript提供了一种箭头函数...([param1:number,param2:number,...param3:number])=>{ //代码块 } //其中括号是入参,实际使用时无需使用括号可以有0个入参,也可以有多个入入参...参数。...TypeScript参数分为正常参数,可选参数,剩余参数。 正常参数,方法在定义时需要几个参数就定义几个参数,调用时也需要上送对用参数个数和参数类型。

10210
您找到你想要的搜索结果了吗?
是的
没有找到

ES6解构赋值

ES6解构es6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构解构赋值是对赋值运算符扩展。 他是一种针对数组或者对象进行模式匹配,然后对其中变量进行赋值。...在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象数据字段获取。 解构模型 在解构,有下面两部分参与: 1.解构源,解构赋值表达式右边部分。...(y); //b ,数组成员为undefined时,默认值仍会生效(因为在ES6内部使用严格相等运算符‘===‘,判断一个位置是否有值,所以当一个数组成员严格等于undefined,默认值才会生效)...函数参数也可以使用解构参数 function move({x = 0,y = 0} = { }){ return [x,y]; } console.log(move({x : 3,y :...move参数指定默认值,而不是为变量x和y指定默认值,所以与前一种写法结果不太一样,undefined 就会触发函数默认值 7.对象解构 Rest let {a, b, ...rest} =

80630

Es6拓展运算符参数解构在实际项目当中应用

扩展操作符 … 是ES6引入,将可迭代对象展开到其单独元素,常见应用场景有:拷贝数组对象,合并数组,参数传递,数组去重,字符串转字符数组,解构变量等 单纯学习某个技术知识点,很容易,但是能在实际项目中运用进去...,那就不简单了 单纯学习某个语言语法,都相类似,但是多种技术融合起来,那就复杂了 应用场景 解构参数,传递参数 向后端接口传递参数,拼接参数传递给后端 ...,第二个就是具体参数,这里使用是axios发送get请求数据 let res = await this....发送Axos请求使用是axios库,在请求接口时,使用了try..catch,如果接口响应有错误,那么将错误返回给开发者 在有的项目里,做得比较好,会统一进行处理,进行错误拦截,对于get和post...,前端开发者更多关注是接口参数,接口具体返回什么数据 关注NetWork面板headers,与PayLoad,以及preview与Response

14820

typescript工厂函数

TypeScript工厂函数(登录登出) 工厂函数是一种特殊函数,用于创建和返回对象或其他数据结构。它通常用于封装和组织代码,允许动态地创建多个实例或对象,每个实例可能具有不同属性或行为。...详细解释它特点和用法: 目的: useLoginApi 目的是创建一个包含两个方法对象,用于处理登录和登出操作。这样可以将登录和登出逻辑封装到一个单独函数,使代码更有组织性和可重用性。...返回值: 该函数返回一个对象,该对象有两个属性 signIn 和 signOut,分别对应登录和登出操作方法。 参数: useLoginApi 函数本身没有接受任何参数。...signOut: 一个函数,接受一个参数 data(一个对象),该函数用于发起登出请求。...使用方法: 导入函数: 首先,在你想要使用这个工厂函数文件,导入它: import { useLoginApi } from '.

15710

ES6变量解构赋值

ES6(ECMAScript 2015)引入了解构赋值语法,它允许我们从数组或对象中提取值,并将其赋给变量。解构赋值可以让我们更方便地处理复杂数据结构,简化代码,并提高可读性。...数组解构赋值:使用数组解构赋值,我们可以根据数组中元素位置,将值分配给对应变量。...每个变量将按照数组中元素顺序进行赋值。对象解构赋值:使用对象解构赋值,我们可以根据对象属性名称,将属性值分配给对应变量。...每个变量将根据对应属性名称进行赋值。默认值:解构赋值还可以使用默认值,在无法从解构获取到对应值时使用默认值。...由于数组没有第三个元素,变量c将使用默认值3。嵌套结构和剩余项:解构赋值还支持嵌套结构和剩余项,允许我们在更复杂数据结构中进行解构操作。

47640

ES6基础-变量解构赋值

作者 | Jeskson 来源 | 达达前端小酒馆 解构赋值: 数组解构赋值,对象解构赋值,字符串解构赋值,数值与布尔值解构赋值,函数参数解构赋值。...数组解构赋值: 解构赋值语法是一个JavaScript表达式,这使得可以将值从数组或属性从对象提取道不同变量。...重点解构赋值概念理解: 数组解构赋值 对象解构赋值 字符串解构赋值 数值和布尔值解构赋值 函数参数解构赋值 数组解构赋值 const arr = [1,2,3,4]; let [a...对象解构赋值主要用途,提取对象属性,使用对象传入乱序函数参数,获取多个函数返回值。...使用对象传入乱序函数参数: function AJAX(option) { var type = option.type || 'get'; console.log(option); }; AJAX

77710

【JS】325- 深度理解ES6解构赋值

在编码过程,我们经常定义许多对象和数组,然后有组织地从中提取相关信息片段。ES6 添加了可以简化这种任务新特性:解构解构是一种打破数据结构,将其拆分为更小部分过程。...用一张图来解释一下其中解构过程: ? 非同名变量赋值 在这个例子,我们使用与对象属性名相同变量名称,当然,我们也可以定义与属性名不同变量名称: ?...数组解构赋值 与对象解构语法相比,数组解构就简单多了,它使用是数组字面量,且解构操作全部在数组内完成,而不是像对象字面量语法一样使用对象命名属性。 ?...这段代码中使用解构语法从数组 list 获取索引 0 和索引 2 所对应元素,city 前逗号是前方元素占位符,无论数组元素有多少个,都可用这种方式来提取想要元素。...用一张图来解释一下其中解构过程: ? 默认值 在数组解构赋值表达式也可以为数组任意位置添加默认值,当指定位置属性不存在或其值为 undefined 时使用默认值: ?

3.8K12

ES6(三):变量解构赋值

解构赋值语法是一个Javascript表达式,这使得可以将值从数组或属性从对象提取到不同变量,文中主要讲数组解构赋值、对象解构赋值、字符串解构赋值、数值和布尔值解构赋值以及函数参数解构赋值...数组解构赋值 基本用法 ES6以前我们如果要定义三个变量的话需要这样做: code var a = 1, b = 2, c = 3; console.log(a); // 1 console.log...(a); // 1 console.log(b); // 4 console.log(c); // 3 注意:ES6内部使用严格相等运算符(===)判断一个位置是否有值。...tos1 === Number.prototype.toString); // true console.log(tos2 === Boolean.prototype.toString); // true 函数参数解构赋值...函数参数也可以进行解构赋值,这是一个解构赋值运用比较多场景,其实就是对之前所讲数组、对象、布尔值、数值解构赋值一种实际使用: code function add([a, b]) { return

72420

【说站】js函数参数使用

js函数参数使用 说明 1、函数某些值不能固定,我们可以通过参数在调用函数时传递不同值。 2、多个参数之间用逗号分隔,形式参数可以看作是无声明变量。...在JavaScript,形式参数默认值是undefined。...实例 // 函数形参实参个数匹配 function getsum(num1,num2){ console.log(num1 + num2); } // 1.如果实参个数和形参个数一致,则正常输出结果...getSum(1, 2); // 2.如果实参个数多于形参个数,会取到形参个数 getsum(1, 2, 3); // 3.如果实参个数小于形参个数,多余形参定义为 undefined,最终结果...:1 + undefined = NaN // 形参可以看做是不用声明变量, num2 是一个变量但是没有接受值,结果就是undefined getsum(1); 以上就是js函数参数使用,希望对大家有所帮助

3.2K60

ES6入门之变量解构赋值

ES6之前想要为变量赋值,只能指定其值,如下: let a = 1; let b = 2 而在ES6可以写成这样,如下: let [a,b] = [1,2] // a = 1, b = 2 值得注意是...使用严格相等运算符,在结构赋值如果需要默认值生效,则应对等值为undefined时候才会采用默认值,否则还是使用赋值。...如下: let {t:s} = 123 let {t: s} = true 函数参数解构赋值 function add([x,y]){ return x+y } add([3,5]) // 8...// [0,0] // 没有传值,使用本身赋值 都是0 其他 不能使用圆括号情况 变量声明语句 函数参数 赋值语句模式 可以使用圆括号情况 赋值语句非模式部分,可以使用圆括号 解构赋值用途...交换变量值 从函数返回多个值 函数参数定义 提取JOSN数据 函数参数默认值 遍历Map结构 输入模块指定方法 ES6入门系列 ES6入门之let、cont ES6入门之解构赋值 ES6入门之字符串扩展

37710

ES6箭头函数=>

ES6标准新增了一种新函数:Arrow Function(箭头函数)。为什么叫Arrow Function?...因为它定义用就是一个箭头: x => x * x 相当于: function(x){ return x*x; } 箭头函数相当于匿名函数,并且简化了函数定义。...箭头函数表达式语法比函数表达式更简洁,并且没有自己this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数地方,并且它不能用作构造函数。...,就需要用括号()括起来: // 两个参数: (x, y) => x * x + y * y // 无参数: () => 3.14 // 可变参数: (x, y, ...rest) => {...{ ... }有语法冲突,所以要改为: // ok: x => ({ foo: x }) this 箭头函数看上去是匿名函数一种简写,但实际上,箭头函数和匿名函数有个明显区别:箭头函数内部this

58241

使用 BPF 改变运行程序函数参数

本文探索使用 BPF 改变运行程序函数参数,挖掘 BPF 黑魔法。...实验环境 Ubuntu 20.04.2 LTS BCC 测试程序 这是我们示例程序,打印第一个命令行参数: package main import ( "fmt" "os" "time" )...这是我们 BPF 程序,尝试修改函数参数为字符串 You are hacked!...bpf_probe_write_user 修改用户内存空间内容,此操作存在风险,因此每当带有此函数 BPF 程序被加载时,从 dmesg 中都可以看到如下日志: tracer[609901] is...结论 本文探索使用 BPF 修改执行 Go 程序函数参数, 由于 Golang ABI 是使用栈来传递函数参数,通过读取栈上指针地址,使用 bpf_probe_write_user 修改对应地址内存内容来达成修改函数参数目的

4K211

ES6Generator函数

ES6Generator函数 2018-3-6 作者: 张子阳 分类: Web前端 之前在React项目中,遇到异步请求,都是通过redux-thunk来处理,但使用这种方式,action就变得不那么纯净了...当前新趋势是使用redux-saga来处理side effects(副效应)。在redux-saga,重度使用了generator函数概念,这篇文章先就Generator函数做一个小结。...向Generator函数进行传值 从上面的例子,可以看到,通过使用yield和return,可以获取Generator函数每段执行返回值。那么如何向函数传入值?...当x=1,也就是第1次调用next()方法时,因为此时还从来没有调用过yield,因此输入参数会被丢弃(如上栗例没有输出B)。此时,如果要传入参数,则应使用generator函数输入参数。...既然已经可以利用yiled获得函数任意执行阶段返回值,所以建议generator函数不要再使用return,这样可以统一访问方式。将原先需要return返回值,放到最后一个yield即可。

44830

ES6函数参数默认值设置

ES6(ECMAScript 2015),我们可以为函数参数设置默认值,这使得函数在调用时可以接受一部分或全部参数默认值。默认参数设置提供了更灵活和方便函数使用方式。...在上面的示例,我们定义了一个名为greet函数,并为参数name设置了默认值'John'。当函数调用时,如果没有提供name参数值,则默认为'John'。...10 = 50console.log(multiply(3, 4)); // 输出 3 * 4 = 12在上面的示例,我们定义了一个名为multiply函数,其中参数b默认值是2 * a,即b值是...当只传递a值时,b将根据默认值计算。默认参数值和解构赋值:在使用解构赋值时,我们也可以为解构对象参数设置默认值。...在上面的示例,我们定义了一个名为greet函数,接受一个对象参数,并使用解构赋值来获取name和age属性。我们为name参数设置了默认值'John'。当只传递age属性时,name将使用默认值。

1.3K20
领券