--- description: 'One of the key features of Twoslash is the ability to use the TypeScript compiler to pull out type information about your code.' title: 'Queries' --- # Queries One of the key features of Twoslash is the ability to use the TypeScript compiler to pull out type information about your code. Twoslash comes with two different ways to query your code: `?^` and `?|`. ## Extract Type `^?` Using `^?` you can pull out type information about a particular identifier in the line of code above it. ::: code-group ```ts twoslash [output] const hi = 'Hello' const msg = hi + ', world' // ^? ``` ````md [markdown] ```ts twoslash const hi = 'Hello' const msg = hi + ', world' // ^? ``` ```` ::: ## Completions `^|` Using `^|` you can pull out information about a what the auto-complete looks like at a particular location. ::: code-group ```ts twoslash [output] // @noErrors console.e // ^| ``` ````md [markdown] ```ts twoslash // @noErrors console.e // ^| ``` ```` ::: ::: info Note that the compiler flag for [`// @noErrors`](errors#noerrors) is set, because `console.e` is a failing TypeScript code sample but we don't really care about that. :::