javascript - 覆盖对象解构的默认行为的 JavaScript 方法
问题描述
JS 中有没有办法在对象被解构时覆盖对象的默认行为?
// Normally destructing lifts properties from an object
const foo = {
a: 1,
b: 2,
};
const { a, b } = foo; // a = 1, b = 2
// I would like to have a method return the properties to be
// destructured
const bar = {
toObject: () => {
return { a, b };
},
};
const { a, b } = bar; // a = undefiner, b = undefined
我知道我可以简单地使用const { a, b } = bar.toObject();
,但这需要对象的消费者知道它的内部是如何工作的,并且违反了最小惊讶原则。
我能想到的最接近我想要的是toJSON
魔术方法。
解决方案
推荐阅读
- python - 您如何使用 python 识别(但不修复)csv 文件中的空值或重复值?
- c# - 如何用意大利语编写日期并将意大利语设置为 ASP.Net C# 中的默认语言
- reactjs - 禁止传播道具 - React Dropzone
- python - 使用 IF 函数来区分应该使用哪个 sqlite 查询?
- reactjs - React 如何通过在循环中赋值来获取当前的 ref 数据?
- php - HMVC codeigniter ERR_TOO_MANY_REDIRECTS 错误
- c - 编译器警告:在赋值时将整数转换为指针
- javascript - 在javascript(reactJS)中使用动态键名向数组添加或替换对象
- html - 如何在多个 HTML 文件中重用 HTML 代码
- windows-task-scheduler - 如何使用 Python 运行现有任务调度程序的任务?