ES6 - 默认参数

ES6 - 默认参数 首页 / ES6入门教程 / ES6 - 默认参数

默认参数的概念是 ES6 版本的JavaScript中引入的一项新函数。这使无涯教程可以为函数参数提供默认值。

function sum(x = 3, y = 5) {

   //return sum
    return x + y;
}

console.log(sum(5, 15)); //20 
console.log(sum(7));       //12
console.log(sum());         //8

在上面的示例中,x的默认值为 3 ,而y的默认值为 5

  • sum(5,15)  - 传递两个参数时,x占用 5 ,而y占用 15
  • sum(7)          - 将 7 传递给sum()函数时,x需要 7 和y采用默认值 5
  • sum()            - 当没有参数传递给 sum()函数时,x采用默认值 3 ,然后y采用默认值 5
How default arguments work in JavaScript
默认参数在 JavaScript 中的工作原理

表达式默认值

也可以提供表达式作为默认值。

示例1:将参数作为默认值传递

function sum(x = 1, y = x,  z = x + y) {
    console.log( x + y + z );
}

sum();//4

在上面的程序中,

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/es6/default-parameters.html

来源:LearnFk无涯教程网

  • x 的默认值为 1
  • y 的默认值设置为 x 参数
  • z 的默认值是 x y 的总和

如果引用尚未初始化的参数,则会出现错误。例如,

function sum( x = y, y = 1 ) {
    console.log( x + y);
}

sum(); 
Output
ReferenceError: Cannot access 'y' before initialization

示例2:将函数值作为默认值传递

//在默认值表达式中使用函数

const sum = () => 15;

const calculate = function( x, y = x * sum() ) {
    return x + y;
}

const result = calculate(10);
console.log(result);           //160

在上面的程序中,

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/es6/default-parameters.html

来源:LearnFk无涯教程网

  • 10 传递给 calculate()函数。
  • x 变为 10 y 变为 150 (求和函数返回 15 )
  • 结果将为 160

传递未定义值

在JavaScript中,当您将 undefined 传递给默认参数函数时,该函数将采用默认值。例如,

function test(x = 1) {
  console.log(x);
}

// passing undefined
// takes default value 1
test(undefined);//1

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Java并发编程实战 -〔王宝令〕

黄勇的OKR实战笔记 -〔黄勇〕

实用密码学 -〔范学雷〕

零基础实战机器学习 -〔黄佳〕

搞定音频技术 -〔冯建元 〕

AI大模型之美 -〔徐文浩〕

手把手带你搭建推荐系统 -〔黄鸿波〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

云原生基础架构实战课 -〔潘野〕

好记忆不如烂笔头。留下您的足迹吧 :)