类型“ null”不可分配给类型“ T”

阿里·法里斯(Ali Faris)

我有这种通用方法

class Foo { 
     public static bar<T>(x: T): T {
         ...
         if(x === null)
             return null; //<------- syntax error
         ...
     }
 }


... //somewhere
const x = Foo.bar<number | null>(1);

我收到语法错误

TS2322:类型“ null”不可分配给类型“ T”。

我希望它可以编译,因为T可能是null

解决此问题的正确方法是什么

穆拉特·卡拉戈斯(Murat Karagoz)

您必须在tsconfig中将返回类型声明为null或关闭strictNullChecks

public static bar<T>(x: T): T | null

或者您可以输入nullas any例如

 return null as any;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

承诺:void 类型的参数不可分配给类型 T

来自分类Dev

rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

来自分类Dev

类型“ void”不可分配给类型“ FormData”

来自分类Dev

类型'string'不可分配给类型'“” | “,” | “” | “。”'

来自分类Dev

类型“ any []”不可分配给类型“从不”

来自分类Dev

类型对象不可分配给类型 any[]

来自分类Dev

类型 '() => void' 不可分配给类型 'string'

来自分类Dev

类型“{}”不可分配给类型“ComponentProps”

来自分类Dev

TS2322:输入'Todo [] | “ null”不可分配给“ Todo []”类型。类型“ null”不可分配给类型“ Todo []”

来自分类Dev

“日期|类型”的参数 “ null”不可分配给“ SetStateAction <Date>”类型的参数

来自分类Dev

Angular Ivy strictTemplates true类型'boolean | “ null”不可分配给“ boolean”类型

来自分类Dev

打字稿:类型“null”不可分配给类型错误

来自分类Dev

键入“文件| “ null”不可分配给“ File”类型。在角度11

来自分类Dev

类型'HTMLElement |的参数 “ null”不可分配给“ Element”类型的参数。类型'null'不能分配给类型'Element'.ts(2345)

来自分类Dev

RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

来自分类Dev

类型“SVGPathSeg”不可分配给类型“EnterElement”。“SVGPathSeg”类型中缺少属性“ownerDocument”

来自分类Dev

类型“{}”不可分配给类型“Readonly<IIdeasContainerProps>”属性“...”在类型“{}”中丢失

来自分类Dev

参数 'err' 和 'error' 的类型不兼容。输入'ExecException | null' 不可分配给类型 'Error'

来自分类Dev

不可分配给“字符串”类型。类型“无效”不能分配给类型“字符串”

来自分类Dev

TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

来自分类Dev

类型“ {}”不可分配给类型“字符串”

来自分类Dev

参数类型对象不可分配给参数类型'Sitecore.Data.Items.Item'

来自分类Dev

Angular2:类型“订阅”不可分配给类型

来自分类Dev

类型'Promise <Document>'不可分配给类型'Promise <Document>'

来自分类Dev

React TypeScript:类型“ string []”不可分配给类型“ never []”

来自分类Dev

类型'({{items}:PropsWithChildren <TodoProps>)=> Element []'不可分配给'FunctionComponent <TodoProps>'类型

来自分类Dev

类型'DefaultClient <unknown>'不可分配给类型'ApolloClient <object>'

来自分类Dev

错误:类型“ void”不可分配给类型“ ReactNode”

来自分类Dev

类型'Observable <Observable <Response >>'不可分配给类型'Observable <Response>'

Related 相关文章

  1. 1

    承诺:void 类型的参数不可分配给类型 T

  2. 2

    rxjs - [ts] 输入 'Observable<{} | T>' 不可分配给类型 'Observable<T>'

  3. 3

    类型“ void”不可分配给类型“ FormData”

  4. 4

    类型'string'不可分配给类型'“” | “,” | “” | “。”'

  5. 5

    类型“ any []”不可分配给类型“从不”

  6. 6

    类型对象不可分配给类型 any[]

  7. 7

    类型 '() => void' 不可分配给类型 'string'

  8. 8

    类型“{}”不可分配给类型“ComponentProps”

  9. 9

    TS2322:输入'Todo [] | “ null”不可分配给“ Todo []”类型。类型“ null”不可分配给类型“ Todo []”

  10. 10

    “日期|类型”的参数 “ null”不可分配给“ SetStateAction <Date>”类型的参数

  11. 11

    Angular Ivy strictTemplates true类型'boolean | “ null”不可分配给“ boolean”类型

  12. 12

    打字稿:类型“null”不可分配给类型错误

  13. 13

    键入“文件| “ null”不可分配给“ File”类型。在角度11

  14. 14

    类型'HTMLElement |的参数 “ null”不可分配给“ Element”类型的参数。类型'null'不能分配给类型'Element'.ts(2345)

  15. 15

    RXJS Observable 枚举类型,类型 'Observable<Type>' 不可分配给类型 'Type'

  16. 16

    类型“SVGPathSeg”不可分配给类型“EnterElement”。“SVGPathSeg”类型中缺少属性“ownerDocument”

  17. 17

    类型“{}”不可分配给类型“Readonly<IIdeasContainerProps>”属性“...”在类型“{}”中丢失

  18. 18

    参数 'err' 和 'error' 的类型不兼容。输入'ExecException | null' 不可分配给类型 'Error'

  19. 19

    不可分配给“字符串”类型。类型“无效”不能分配给类型“字符串”

  20. 20

    TS2322:类型“ Observable <{}>”不可分配给类型“ Observable <Hero>”

  21. 21

    类型“ {}”不可分配给类型“字符串”

  22. 22

    参数类型对象不可分配给参数类型'Sitecore.Data.Items.Item'

  23. 23

    Angular2:类型“订阅”不可分配给类型

  24. 24

    类型'Promise <Document>'不可分配给类型'Promise <Document>'

  25. 25

    React TypeScript:类型“ string []”不可分配给类型“ never []”

  26. 26

    类型'({{items}:PropsWithChildren <TodoProps>)=> Element []'不可分配给'FunctionComponent <TodoProps>'类型

  27. 27

    类型'DefaultClient <unknown>'不可分配给类型'ApolloClient <object>'

  28. 28

    错误:类型“ void”不可分配给类型“ ReactNode”

  29. 29

    类型'Observable <Observable <Response >>'不可分配给类型'Observable <Response>'

热门标签

归档