AArtem UdovichenkoAdd ets2panda
0ee26c4f创建于 2023年10月10日历史提交

Strict type checking is enforced

Rule arkts-strict-typing

Severity: error

Type checker in ArkTS is not optional, the code must be explicitly and correctly types to be compiled and run. When porting from the standard TypeScript, turn on the following flags: noImplicitReturns, strictFunctionTypes, strictNullChecks, strictPropertyInitialization.

TypeScript


    class C {
        n: number // Compile-time error only with strictPropertyInitialization
        s: string // Compile-time error only with strictPropertyInitialization
    }

    // Compile-time error only with noImplicitReturns
    function foo(s: string): string {
        if (s != "") {
            console.log(s)
            return s
        } else {
            console.log(s)
        }
    }

    let n: number = null // Compile-time error only with strictNullChecks

ArkTS


    class C {
        n: number = 0
        s: string = ""
    }

    function foo(s: string): string {
        console.log(s)
        return s
    }

    let n1: number | null = null
    let n2: number = 0

See also

  • Recipe 008: Use explicit types instead of any, unknown (arkts-no-any-unknown)
  • Recipe 146: Switching off type checks with in-place comments is not allowed (arkts-strict-typing-required)