我在no-let
配置中获得了tslint
规则。它希望以下handler
变量是const
,即使它是在switch
情况下分配的。对我来说似乎是个虫子。
static def(name: string) {
// [tslint]Unexpected let, use const instead (no-let)
let handler: Function;
switch (name) {
case 'test':
handler = console.error;
break;
default:
handler = console.warn;
}
handler(name);
}
将其更改为const handler: Function
会在tsserver
中引发错误。
const handler: Function;
switch (name) {
case 'test':
// [tsserver] Cannot assign to 'handler' because it's a constant
handler = console.error;
break;
答案 0 :(得分:2)
Function
是构造函数,就像String
,Array
等...
将其更改为
let handler: () => void;
我使用void
是因为console.error
和console.warn
返回undefined
答案 1 :(得分:-1)
这不是一个bug,因为它是一个常量,所以不能重新分配一个常量:
>>> d = {'19': ' 01:00', '17': ' 14:00'}
>>> pd.to_datetime(df['date'].str.rsplit('-', 1).apply(lambda x: x[0] + d[x[1]]))
0 2019-03-05 01:00:00
1 2019-03-05 01:00:00
2 2019-03-05 01:00:00
3 2019-03-05 01:00:00
4 2019-03-08 14:00:00
Name: date, dtype: datetime64[ns]
>>>
为防止这种情况,您可以直接在开关盒上返回结果,例如:
const a = 1;
a = 2; //gonna log same error as your's