Skip to content

断言函数用于函数表达式时,ts 报错, #119

Closed
@liuben-team

Description

@liuben-team

文档地址

// 写法一
const assertIsNumber = (value: unknown): asserts value is number => {
  if (typeof value !== 'number')
    throw Error('Not a number');
};
assertIsNumber(1)

e2ed5bb2ce6dd0f0d05a975685da0f8

tsconfig.json ("typescript": "^5.6.2")

{
  "compilerOptions": {
    "allowImportingTsExtensions": true,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "alwaysStrict": true,
    "exactOptionalPropertyTypes": true,
    "module": "NodeNext",
    "moduleResolution": "nodenext",
    "noEmit": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitAny": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noPropertyAccessFromIndexSignature": false,
    "noUncheckedIndexedAccess": false,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "strict": true,
    "strictBindCallApply": true,
    "strictFunctionTypes": true,
    "strictNullChecks": true,
    "strictPropertyInitialization": true,
    "target": "ESNext",
    "useUnknownInCatchVariables": false
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions