# ifthen > If a condition is truthy, invoke `x`; otherwise, invoke `y`.
## Usage ```javascript var ifthen = require( '@stdlib/utils/if-then' ); ``` #### ifthen( bool, x, y ) If a condition is truthy, invokes `x`; otherwise, invokes `y`. ```javascript function x() { return 1.0; } function y() { return -1.0; } var z = ifthen( true, x, y ); // returns 1.0 z = ifthen( false, x, y ); // returns -1.0 ```
## Notes - The function is similar to [`ifelse()`][@stdlib/utils/if-else], but allows deferred argument evaluation.
## Examples ```javascript var randu = require( '@stdlib/random/base/randu' ); var ceil = require( '@stdlib/math/base/special/ceil' ); var repeatString = require( '@stdlib/string/repeat' ); var ifthen = require( '@stdlib/utils/if-then' ); var z; var i; function x() { return repeatString( 'BOOP', ceil( randu()*3.0 ) ); } function y() { return repeatString( 'beep', ceil( randu()*5.0 ) ); } for ( i = 0; i < 100; i++ ) { z = ifthen( randu() > 0.9, x, y ); console.log( z ); } ```