Javascript 对象没有值的键

标签 javascript redux javascript-objects

我正在关注 redux 教程 https://redux.js.org/basics/actions并且很难理解下面的代码

export function addTodo(text) {
      return { type: ADD_TODO, text }
    }

所以上面的函数返回对象 { type: ADD_TODO, text } 并且有两件事让我感到困惑。

  1. 与键text关联的该对象的值是多少。如果该值未定义,那么为什么不直接返回 { type: ADD_TODO} 呢。

  2. 如果 text 是一个字符串,那么它不应该是 { type: ADD_TODO, [text]: *some value* } 吗?

此外,还有其他功能,例如

function toggleTodo(index) {
      return { type: TOGGLE_TODO, index }
    }
function setVisibilityFilter(filter) {
      return { type: SET_VISIBILITY_FILTER, filter }
    }

有人可以向我解释一下这个语法吗?

最佳答案

他们正在使用ES6 Shorthand property names - 如果预期的键名与变量相同,那么您可以简单地传递变量

let name = 'Jared';
let age = 19;
let literate = false;

let obj = {
  name,
  age,
  literate
}

/* Is the same as...
let obj = {
  'name': name,
  'age': age,
  'literate': literate
}
*/

console.log(obj);

关于Javascript 对象没有值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59463212/

相关文章:

javascript - 如何在设计模式下使用javascript编辑带有外文unicode字符的iframe?

javascript - 从字符串变量调用 Redux 的调度函数

javascript - JSON 插值

javascript - Chart.js - 柱形值显示在柱形中间

javascript - 为什么使用 querySelector(All) 创建的变量是空的?

javascript - 如何使用Jquery获取ViewBag的值

redux - Flutter Redux Navigator GlobalKey.currentState 返回 null

javascript - Material ui的加载栏组件的颜色变化

javascript - 将数组作为 URL 参数传递 JavaScript/GAS

javascript - Chrome堆快照结构解释