详解firstdefinedhere函数

发布时间:2023-05-23

一、什么是firstdefinedhere:

firstdefinedhere函数最初的定义在ECMAScript2015规范中,用于获取第一个被定义的变量值,其属于JavaScript自带函数。 函数原型: function firstDefinedHere(x, y) 函数返回: 参数列表中第一个不为undefined的参数。若所有参数都为undefined,则返回undefined

二、firstdefinedhere的使用

1、使用场景1:多个变量中挑选第一个非空变量

var name;
var gender = 'Male';
var age;
var result = firstDefinedHere(name, age, gender);
// result === 'Male'

2、使用场景2:获取对象中第一个定义的属性值

var obj = {
  a: undefined,
  b: 'Hi',
  c: null
}
var value = firstDefinedHere(obj.a, obj.b, obj.c);
// value === 'Hi'

3、使用场景3:自定义函数中获取第一个参数值

function foo() {
  var arg1 = firstDefinedHere(arguments[0], 'default_value');
  console.log(arg1);
}
foo(); // 'default_value'
foo('new_value'); // 'new_value'

三、firstdefinedhere函数的局限性

1、所有参数都必须在调用时传递,否则函数将返回undefined

var a = '1';
var b = firstDefinedHere(a);
// b === undefined,缺少第二个参数

2、第一个参数不能为undefined,否则函数无法准确判断第一个被定义的变量值。

var a;
var b = '2';
var c = '3';
var d = firstDefinedHere(a, b, c);
// d === undefined

四、总结

firstdefinedhere函数是一个简单但实用的函数,可以帮助开发者在多个变量参数中挑选第一个被定义的参数,从而快速获取非空值。 然而,在使用时需要注意其局限性,以免出现不必要的错误。