我知道在编程中将常量值大写是很常见的,但是你会对它们的键做同样的事情吗?我正在尝试在 javascript 中创建一个基于字符串的枚举:
const SEASONS = {
spring: 'spring',
summer: 'summer',
fall: 'fall',
winter: 'winter'
}
// or
const SEASONS = {
SPRING: 'spring',
SUMMER: 'summer',
FALL: 'fall',
WINTER: 'winter'
}
Run Code Online (Sandbox Code Playgroud)
如果键也是不变的,那么按惯例将键大写吗?这样您就可以通过SEASONS.SPRING而不是SEASONS.spring?来访问它们的值。
我正在尝试在 TypeScript 中创建一个“分配默认值”函数,它会循环遍历 的键source,如果同一键的值在 中为空target,它将使用 中的值source。这是我的尝试:
const assignDefault = <T, U>(target: T, source: U): T & U => {
Object.keys(source).forEach(key => {
// typecasted as Object.keys returns string[]
const prop = target[key as keyof T]
if (typeof prop === 'undefined' || prop === null) {
// Error: Type 'U[keyof U]' is not assignable to type 'T[keyof T]'.
target[key as keyof T] = source[key as keyof U]
}
})
return target // Error: Type 'T' …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的 Javascript 文件编写打字稿声明文件,但希望将它们存储在单独的文件夹中:
src/
types/
foo.d.ts
foo.js
Run Code Online (Sandbox Code Playgroud)
// foo.d.ts
export function foo(bar): number
Run Code Online (Sandbox Code Playgroud)
// foo.js
export const foo = bar => bar.length
Run Code Online (Sandbox Code Playgroud)
// The type suggestion when calling foo from another file
foo() //(alias) const foo: (bar: any) => any
Run Code Online (Sandbox Code Playgroud)
现在,当我导入并调用foo其他文件时,类型建议不起作用。当我以前做类似的事情时,我必须将.d.ts文件放在与 JS 文件相同的目录中。我尝试添加/// <reference/>,但没有帮助或者我做得不正确。我并不是想导出声明文件,这纯粹是为了在开发过程中帮助我。我怎样才能做到这一点?
我想知道是否有方法将表格中的某些元素/表格单元格表示为非数据?例如,如果我在每一行的末尾都有一个按钮:
<table>
<tr>
<th>header 1</th>
<th>header 2</th>
</tr>
<tr>
<td>data A1</td>
<td>data A2</td>
<button onclick="doSomething()">Do Something</button>
</tr>
<tr>
<td>data B1</td>
<td>data B2</td>
<button onclick="doSomething()">Do Something</button>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
将按钮放入 every 的正确方法是什么<tr>?我应该把它放在一个<td>(没有列标题)中吗?使用屏幕阅读器的人会感到困惑吗?就可访问性而言,这里的最佳实践是什么?