javascript - 有没有更好的方法来处理默认 true ?

标签 javascript

首先我尝试了这个:

var coolFunc = function(options) {
  var minNum = options.minNum || true,
  // rest of the function
}

但这永远不会导致 minNum 变量的值为 false。

所以现在我正在这样做:

var coolFunc = function(options) { 
  var minNum = options.minNum;
  if (minNum === undefined) minNum = true;
  // rest of the function
}

有更标准的方法吗?

最佳答案

这才是正确的做法。

一个常见的变体是

var coolFunc = function(options) { 
  var minNum = "minNum" in options ? options.minNum : true;
  // rest of the function
}

我个人有时会使用实用函数:

function opt(options, key, defaultValue) {
    if (options && key in options) return options[key];
    return defaultValue;
};

所以我的功能是这样的:

var coolFunc = function(options) { 
  var minNum = opt(options, "minNum", true);
  // rest of the function
}

一个小优点是它还会检查options是否未定义

但这并不是一个很大的收获,特别是当你不期望错误的值时,所以大多数情况下我不在乎。

关于javascript - 有没有更好的方法来处理默认 true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19275930/

相关文章:

javascript - 'Currying'是什么?

Javascript 页面重新加载,同时保持当前窗口位置

javascript - RabbitMq 与 ReactJS

javascript - 刷新div内的php脚本

javascript - 如何在下载时修复 "Failed - No file"?

Javascript 时间线问题

javascript - JavaScript 中的函数 - 初学者问题

javascript - 如何在 React 中使用 POST 方法将对象添加到数据库?

javascript - 骑在某个地方的风格?

javascript - AngularJS 和 REST : perform DELETE action sending array of many items to remove