42 lines
529 B
TypeScript
42 lines
529 B
TypeScript
|
// @strict: true, false
|
||
|
|
||
|
interface Foo {
|
||
|
a: number
|
||
|
b: number | undefined
|
||
|
c: number | null
|
||
|
d?: number
|
||
|
e: number | undefined | null
|
||
|
f?: number | undefined | null
|
||
|
g: unknown
|
||
|
h: any
|
||
|
i: never
|
||
|
}
|
||
|
|
||
|
interface AA {
|
||
|
[s: string]: number
|
||
|
}
|
||
|
|
||
|
type BB = {
|
||
|
[P in keyof any]: number
|
||
|
}
|
||
|
|
||
|
declare const f: Foo
|
||
|
declare const a: AA
|
||
|
declare const b: BB
|
||
|
|
||
|
delete f.a
|
||
|
delete f.b
|
||
|
delete f.c
|
||
|
delete f.d
|
||
|
delete f.e
|
||
|
delete f.f
|
||
|
delete f.g
|
||
|
delete f.h
|
||
|
delete f.i
|
||
|
delete f.j
|
||
|
|
||
|
delete a.a
|
||
|
delete a.b
|
||
|
|
||
|
delete b.a
|
||
|
delete b.b
|