是否可以从 JSON.stringify 中的键中删除引号?通常它会有引号:
const object = { name: "Foo Bar", birthdate: { date: "2000-01-01", time: "12:34" } };
console.log(JSON.stringify(object, null, " "));Run Code Online (Sandbox Code Playgroud)
输出:
{
"name": "Foo Bar",
"birthdate": {
"date": "2000-01-01",
"time": "12:34"
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的:
{
name: "Foo Bar",
birthdate: {
date: "2000-01-01",
time: "12:34"
}
}
Run Code Online (Sandbox Code Playgroud)
这是否可能,或者我是否必须创建自己的 JSON 序列化器?
import { Request as ExpressRequest, Response as ExpressResponse } from 'express';
declare module 'kvl' {
export = kvl;
}
declare const kvl: {
ValidationDone:(param:(error: any, response: ExpressResponse) => void) => void;
}
Run Code Online (Sandbox Code Playgroud)
模块扩充中不允许导出和导出分配。
我是在 .d.ts 中声明的?我不能这样用吗?
这不是重复的!我对其他答案的结果不满意。如果您仍然认为它是重复的,请在您认为它是重复的原因之前发表评论!
我必须观察元素的大小变化。我尝试通过在offsetWidth属性上创建一个设置器来做到这一点,如下所示:
const div = document.querySelector("div");
div.addEventListener("resize", console.log);
div.addEventListener("click", () => console.log(div.offsetWidth));
let width = div.offsetWidth;
Object.defineProperty(div, "offsetWidth", {
get: () => width,
set: val => {
width = val;
div.dispatchEvent(new Event("resize"));
}
});
document.querySelector("button").onclick = () => div.style.width = "200px";Run Code Online (Sandbox Code Playgroud)
div {
background-color: #f00;
width: 300px;
height: 300px;
}Run Code Online (Sandbox Code Playgroud)
<div></div>
<button>
Set size
</button>Run Code Online (Sandbox Code Playgroud)
单击红色框以记录尺寸。然后按下按钮。什么都没发生。如果再次单击该框,它仍会显示旧尺寸。为什么这不起作用?