小编nra*_*ter的帖子

有没有办法让 VSCode 中的终端即使侧边栏打开也占据应用程序的整个宽度?

有没有办法让终端跨越应用程序的整个宽度而不关闭侧导航?我经常使用它,通常我必须隐藏侧边导航才能以全角看到它。如果我可以将其设置为侧导航位于编辑器旁边,从而允许终端占据应用程序的整个宽度,那就太好了。

在此输入图像描述

visual-studio-code

28
推荐指数
2
解决办法
5088
查看次数

当接口中的所有属性都是可选的时,为什么在 Typescript 中允许多余的属性?

在以下代码中...

interface Options {
  allowed?: string;
}

function test(options: Options) {
  return options;
}

const options = {
  allowed: 'allowed',
  notAllowed: 'notAllowed',
};

test(options); // does not throw an error
Run Code Online (Sandbox Code Playgroud)

为什么在调用时添加notAllowedoptions不在 Typescript 中抛出错误test(options)

我怎样才能写这个,这样多余的属性就被禁止了?

编辑 1...

如果我将 Typescript 重写为const options: Options = {...};.

但是,打字稿不应该推断出这一点,因为我已经指定函数中的选项参数应该是选项类型吗?

如果没有,在尝试传入时打字稿不应该抛出错误const object = {...};吗?

否则,这对于其他开发人员将他们自己的对象传递到test函数中不是很有用。

编辑 2...

我想要这个的原因是为了我不希望开发商拼错属性的选项包。例如,我希望他们能够提供一个include属性并禁止该includes属性。当他们将对象变量(而不是对象文字)作为test函数中的参数传递时,实现这一点的唯一方法是在Options接口上声明一个属性includes?: null;或类似的东西吗?

typescript

0
推荐指数
1
解决办法
1262
查看次数

标签 统计

typescript ×1

visual-studio-code ×1