wiki/content/20201126101327-predicate.md

606 B

id title
f8951d1c-bddf-49c3-bd61-fdfffc412deb predicate

Origin

Latin praedicatus "something declared"

Definition

A function that returns a single boolean value

Examples

type Predicate = () => boolean

function isTurkey(x: string) {
    return x === 'turkey'
}
interface Dog {
    bark: 'dog'
}

interface Cat {
    meow: 'cat'
}

function isCat(animal): animal is Cat {
    return (animal as Cat).meow !== undefined
}

function makeSound(animal: Cat | Dog) {
    if (isCat(animal)) {
        animal.meow
    } else {
        animal.bark
    }
}