如何在 bootstrap 4 中增加徽章大小?
我试图放入标题 ( <h3></h3>) 块,但这将显示更改为block,这不是我需要的(我想标题应该保留给...标题)。
我有一个这样定义的类
class Foo {
value: string | null;
constructor(){
this.value = null;
}
private ensureValueExists():this.value is string{ //type predicate is not legal
this.value = "bar";
return true;
}
doStuffWithValue(){
this.ensureValueExists();
return 5 + this.value; //ERROR, this.value can be null
}
}
Run Code Online (Sandbox Code Playgroud)
我希望 EnsureValueExists 方法能够告诉编译器 this.value 确实是一个字符串并且可以安全使用。是否有特殊的语法可以使用,或者目前对于方法来说 TS 无法实现?
在过去,只有在///<reference path="...语句特别需要时才会加载打字稿中的d.ts文件.但是,我的理解是最近这已经改变了,编译器现在能够自动加载一些本地定义文件.我试图通过谷歌搜索和浏览TS规范找到相关的规则,但暂时没有成功.
任何人都会善意地解释这些规则或指出我正确的方向?
假设我想对打字稿中的函数进行单元测试。此函数使用具有复杂形状的“选项”类型(对象)参数。
interface option {
param1 : string
param2 : number
param3 : {
param4 : string
param5 : boolean
}
.
.
.
param15 : string
}
const functionToTest = (opt:option)=>{
...do stuff with option
}
Run Code Online (Sandbox Code Playgroud)
现在假设我想编写一个单元测试,在 param1 更改时模拟 functionToTest 的正确行为,忽略对结果没有影响的其他参数。
我的理解是为了让我的测试更有弹性,我可以用普通的 JS 编写
const option1 = {
param1 : "foo"
}
Run Code Online (Sandbox Code Playgroud)
并做我的测试
expect(functionToTest(option1)).to.be.true;
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用 typescript 编写测试,我将不得不使用所有接口(虚拟)成员编写一个完整的 option1 对象,尽管大多数将被忽略,并且会使读者偏离测试的真正目标。
是否有解决方法或我应该改变我的想法?
假设我is_foo?/1在Elixir中有一个谓词我想在一个以谓词为参数的函数中使用它,但是否定了.Elixir有没有办法简单地做到这一点?