Path: blob/main/files/en-us/webassembly/reference/control_flow/select/index.md
6510 views
------{{WebAssemblySidebar}}
The select instruction, selects one of its first two operands based on whether its third operand is zero or not. It shares some similarities with the ternary operator in other languages (e.g. false ? 10 : 20), but doesn't short-circuit. The instruction may be followed by an immediate value type: select (result T). select (result T) uses a different binary opcode, and allows types besides those introduced by the WebAssembly MVP (i32, i64, f32, f64), for example, it allows selection between two externref values.
{{EmbedInteractiveExample("pages/wat/select.html", "tabbed-taller")}}
Syntax
| Instruction | Binary opcode |
|---|---|
select | 0x1b |
select t | 0x1c |