ES6中Function的新特性 淡淡的烟草味﹌ 2023-07-15 13:10 19阅读 0赞 ### 参数默认值 ### 在ES6中,函数的参数可以设置默认值。 实参为`null`,形参为`null`。 实参`没有参数`或者为`undefined`,形参为默认值。 (function(a, b = 10, c = 3, d = 4, e = 5) { console.log(a, b, c, d, e) })(1, 2, undefined, null) // a => 1 // b => 2 // c => 3 // d => null // e => 5 函数参数默认值存在暂时性死区,未初始化赋值的参数值无法作为其他参数的默认值。 function f(x, y = x) { console.log(x, y); } f(1); // x => 1 // y => 1 function f(x = y, y) { console.log(x, y); } f(undefined, 1); // Error: Cannot access 'y' before initialization (暂时性死区) -------------------- ### 箭头函数 ### 箭头函数是一种更加简洁的函数书写方式。 **原始写法** const fun = function(num) { return num; } **箭头函数** const fun = (num) => { return num; } fun(3) // 3 如果参数只有一个,可以省略 `( )` const fun = num => { return num; } fun(3) // 3 如果箭头函数只有一条返回语句,可以省略 `{ }` 和 `return` const fun = num => num fun(3) // 3 如果返回值是一个对象时,省略后就会认为成函数体,此时会语法报错,我们只需要将返回的对象用`( )`包裹起来 // 省略前 const obj = (a, b) => { return { a: a, b: b } } // 省略后 SyntaxError const obj = (a, b) => { a: a, b: b } // 把返回值用 const obj = (a, b) => ({ a: a, b: b }) **箭头函数没有`this`,`argument`,`new.target`** 在箭头函数中,`this`,`argument`,`new.target`分别对应的是箭头函数外层的`this`,`argument`,`new.target`。 const fun = () => { console.log(this) } fun() // Window const obj = { fun: function() { const func = () => { console.log(this); } func(4, 5, 6) } }; obj.fun(1, 2, 3) // fun **箭头函数没有原型** 箭头函数没有原型,占用空间非常小,不能当成构造函数来使用。 const fun = () => true console.log(fun.prototype) // undefined
相关 ES6新特性 ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下⼀个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不⾜,⽐如 Jav... 矫情吗;*/ 2024年04月21日 08:03/ 0 赞/ 106 阅读
相关 ES6中Function的新特性 参数默认值 在ES6中,函数的参数可以设置默认值。 实参为`null`,形参为`null`。 实参`没有参数`或者为`undefined`,形参为默认值。 淡淡的烟草味﹌/ 2023年07月15日 13:10/ 0 赞/ 20 阅读
相关 ES6新特性 文章目录 一、ECMASript 介绍 二、ES6 新特性 2.1 let、const 关键字 2.2 变量的解构赋值 ゝ一世哀愁。/ 2022年09月06日 15:27/ 0 赞/ 304 阅读
相关 es6新特性 1.let && const •都是块级作用域 •不能重复定义 •避免了变量提升 ① let命令也用于声明对象,但是作用域为局部。 ![在这里插入图片描述][ 红太狼/ 2022年03月07日 21:24/ 0 赞/ 397 阅读
相关 es6新特性 es6语法 > es6语法用起来是十分方便的,但是有些浏览器还是不支持,但是做大型项目中基本上要用到转码器(babel转码器),可以把es6语法转为es5直接使用。 T 落日映苍穹つ/ 2022年01月25日 15:30/ 0 赞/ 395 阅读
相关 ES6新特性 转:[https://www.jianshu.com/p/87008f4f8513][https_www.jianshu.com_p_87008f4f8513] co Bertha 。/ 2022年01月12日 02:19/ 0 赞/ 374 阅读
相关 ES6新特性 转自:[https://www.jianshu.com/p/87008f4f8513][https_www.jianshu.com_p_87008f4f8513] 1.con 冷不防/ 2021年12月18日 07:07/ 0 赞/ 370 阅读
相关 es6新特性 https://www.cnblogs.com/minghui007/p/8177925.html 转载于:https://www.cnblogs.com/LWWTT/p/1 野性酷女/ 2021年11月02日 14:58/ 0 赞/ 536 阅读
相关 ES6新特性 1.变量声明let和const 在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: 我会带着你远行/ 2021年10月29日 07:08/ 0 赞/ 547 阅读
相关 ES6新特性 1.声明变量的关键字:const 和 let JavaScript ES6中引入了另外两个声明变量的关键字:const和let。在ES6中,我们将很少能看到var了。 co 电玩女神/ 2021年09月17日 01:12/ 0 赞/ 532 阅读
还没有评论,来说两句吧...