# Javascript language

Most people know JavaScript from web development, where ts is used to automate web pages and drive interactive apps. JavaScripts is a very elegant and expressive language, developers coming from other languages are often surpirsed at how little code it takes to get things done.&#x20;

Google developed the V8 JavaScript engine that is used in XLConnect and did a number of optimizations to it that also makes JS extremely fast.&#x20;

Most data you will receive from API's these days is JSON (JavaScript Object Notation). JS is a very natural langauge to work with with such data because JSON literally is JavaScript, the name kind of gives it away. JSON is how you write down data in JS, when you execute a string of JSON data in JS it becomes in-memory data you can work with.&#x20;

On top of that JS has some very nice features for data manipulation that will prove very help in transforming the format you get from the api to the format you want in your Workbook, making mulitple calls to an API for mulitple periods, organisations, pages of data etc.&#x20;

JS also allows you to write functions and modules. This allows you to write certain functions once and reuse them in mutliple workbooks. This allows you to raise the level of abstraction very quickly, to write code in business terms, where these functions and modules execute that against the API's and [Data Lake](/xlconnect-documentation/developing-with-xlconnect/data-lake-xlc.md).&#x20;

So, to recap, JavaScript is elegant, expressive, perfect for JSON and blazing fast. Let's dive in.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xlconnect.net/xlconnect-documentation/developing-with-xlconnect/javascript/javascript-language.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
