小编Don*_*Zhu的帖子

常量的属性应该大写吗?

我知道在编程中将常量值大写是很常见的,但是你会对它们的键做同样的事情吗?我正在尝试在 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?来访问它们的值。

javascript conventions typescript

8
推荐指数
1
解决办法
4621
查看次数

如何正确输入类似 Object.assign 的泛型函​​数?

我正在尝试在 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)

typescript typescript-generics

7
推荐指数
1
解决办法
383
查看次数

如何引用另一个文件夹中的 Javascript 类型声明文件?

我正在尝试为我的 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/>,但没有帮助或者我做得不正确。我并不是想导出声明文件,这纯粹是为了在开发过程中帮助我。我怎样才能做到这一点?

javascript typescript

5
推荐指数
1
解决办法
1271
查看次数

表示非数据表格单元格的 HTML 表格

我想知道是否有方法将表格中的某些元素/表格单元格表示为非数据?例如,如果我在每一行的末尾都有一个按钮:

<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>(没有列标题)中吗?使用屏幕阅读器的人会感到困惑吗?就可访问性而言,这里的最佳实践是什么?

html accessibility

3
推荐指数
1
解决办法
490
查看次数