## JavaScript

Use the `View` component to create content that changes based on the selected view in a multi-view dropdown. This is particularly useful for showing code examples or documentation specific to different programming languages or frameworks.

Use one view component per language per page. Use [tabs](/content/docs/components/tabs/index.html) for procedures that differ by language and [code groups](/content/docs/components/code-groups/index.html) for code examples that differ by language.

This content only appears when you select JavaScript.

```
console.log("Hello from JavaScript!");
```

## Example

JavaScript and Python views

````
<View title="JavaScript" icon="js">
  This content only appears when you select JavaScript.

```javascript
  console.log("Hello from JavaScript!");
  ```
</View>

<View title="Python" icon="python">
  This content only appears when you select Python.

```python
  print("Hello from Python!")
  ```
</View>
````

## Table of contents behavior

The table of contents automatically updates to show only the headings for the currently selected view. When you switch between views using the multi-view dropdown, the table of contents refreshes to display the relevant headings for that view. If you have different heading structures in each view, users only see the headings that are relevant to their selected language or framework.

## Properties

### title

string

required

The title that identifies this view. Each unique title on the page becomes an option in the multi-view dropdown.

### icon

string

A [Font Awesome](https://fontawesome.com/icons), [Lucide](https://lucide.dev/icons), or [Tabler](https://tabler.io/icons) icon, a single emoji, a URL to an icon, or a relative path to an icon.

### iconType

string

For Font Awesome icons only: One of `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands`.

### className

string

Additional CSS classes to apply to the view container.
