简体   繁体   中英

Check if string exist in const typescript

I have some const like this

export class CustomerType {
  static readonly main = 'mainCustomer';
  static readonly additional = 'additionalCustomer';
}

And I have

const value = 'main'

Is it possible to check does value exist in CustomerType and return true or false? I know that I can use include when is an array but this is class?

You can use Object.keys() to get all properties on the class and then use Array.prototype.includes() to see if it is contained:

class CustomerType {
  static readonly main = 'mainCustomer';
  static readonly additional = 'additionalCustomer';
}

const value = 'main'


console.log(Object.keys(CustomerType).includes(value))

You can see this working in the typescript playground .

type valueType = keyof typeof CustomerType

const value: valueType = 'main'; // no error

const value2: valueType = 'something else'; // throws typescript error

See an example in the typescript playground here .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM