typescript语法中is关键字是做什么的?

2025年02月08日 建站教程

最近在网上闲逛的时候发现一道前端面试题:typescript语法中is关键字是做什么的?下面web建站小编给大家详细介绍一下!

基本用法:

is关键字一般用于函数返回值类型中,判断参数是否属于某一类型,并根据结果返回对应的布尔类型。

// 判断参数是否为string类型, 返回布尔值
function isString(s:unknown):boolean{
  return typeof s === 'string'
}

// 判断参数是否为字符串,是在调用转大写方法
function ifUpperCase(str:unknown){
  if(isString(str)){
    str.toUpperCase()
  }
}

拓展函数:

const isNumber = (val: unknown): val is number => typeof val === 'number'
const isString = (val: unknown): val is string => typeof val === 'string'
const isSymbol = (val: unknown): val is symbol => typeof val === 'symbol'
const isFunction = (val: unknown): val is Function => typeof val === 'function'
const isObject = (val: unknown): val is Record<any, any> => val !== null && typeof val === 'object'

function isPromise<T = any>(val: unknown): val is Promise<T> {
  return isObject(val) && isFunction(val.then) && isFunction(val.catch)
}

const objectToString = Object.prototype.toString
const toTypeString = (value: unknown): string => objectToString.call(value)
const isPlainObject = (val: unknown): val is object => toTypeString(val) === '[object Object]'

本文链接:http://so.lmcjl.com/news/22758/

展开阅读全文
相关内容