javascript - 为什么具有相同名称值的键的工厂函数仅在给定参数时才更改值
问题描述
在: function f(sex) { return : { sex: sex, } } 如果我这样做: const Leopard = f(blue) Leopard 将是一个具有 {sex: blue,} 的对象,我的问题是为什么 sex (the键)不改变,不能改变键是不是很麻烦。
解决方案
在对象字面{sex: sex}
量中,属性键(名称)被硬编码为sex
。该值来自参数sex
,但名称是硬编码的。
如果您想同时更改两者,您可以使用计算属性名称语法将参数中的值用作属性名称:
return {[sex]: sex};
// ^^^^^−−−−−−−−−−−−−−−− computed property name syntax uses
// the value from the `sex` parameter
例子:
function f(sex) {
return { [sex]: sex, };
}
const leopard = f("blue");
console.log(leopard);
推荐阅读
- unreal-engine4 - 在虚幻引擎 4 中,提高麦克风录音电平的最佳方法是什么?
- wpf - WPF - 数据网格 - 显示一个文本框以在选择其行时由用户设置值
- wordpress - 向 WooCommerce REST API 公开二级货币
- angular - 为什么我无法在我的 HTML 页面中显示 Observable 数据?
- vue.js - 在 vuejs 组件中推送
- swift - URLSession 在 LTE 和 5G 上多次下载后限制带宽使用
- google-sheets - 如何从需要登录的网站获取信息
- python - 如何使用 Canny 去除图像背景
- java - Apache Spark:java.lang.NoClassDefFoundError V2TableWithV1Fallback
- python-3.x - 对于大量边,如何在有向无环图中迭代从根节点到叶节点的每条路径