---
title: "Interpolate | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Class Interpolate

Expression

#### Implements

-   [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)

##### Index

### Constructors[](#constructors)

[constructor](#constructor)

### Properties[](#properties)

[input](#input) [interpolation](#interpolation) [labels](#labels) [operator](#operator) [outputs](#outputs) [type](#type)

### Methods[](#methods)

[eachChild](#eachchild) [evaluate](#evaluate) [outputDefined](#outputdefined) [interpolationFactor](#interpolationfactor) [parse](#parse)

## Constructors[](#constructors-1)

### constructor[](#constructor)

-   new Interpolate(  
        type: [InterpolatedValueType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.InterpolatedValueType/),  
        operator: "interpolate" | "interpolate-hcl" | "interpolate-lab",  
        interpolation: [InterpolationType](https://docs.maptiler.com/sdk-js/api-reference/types/InterpolationType/),  
        input: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/),  
        stops: [Stops](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Stops/),  
    ): Interpolate[](#constructorinterpolate)
    
    #### Parameters
    
    -   type: [InterpolatedValueType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.InterpolatedValueType/)
    -   operator: "interpolate" | "interpolate-hcl" | "interpolate-lab"
    -   interpolation: [InterpolationType](https://docs.maptiler.com/sdk-js/api-reference/types/InterpolationType/)
    -   input: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)
    -   stops: [Stops](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Stops/)
    
    #### Returns Interpolate
    

## Properties[](#properties-1)

### input[](#input)

input: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)

### interpolation[](#interpolation)

interpolation: [InterpolationType](https://docs.maptiler.com/sdk-js/api-reference/types/InterpolationType/)

### labels[](#labels)

labels: number\[\]

### operator[](#operator)

operator: "interpolate" | "interpolate-hcl" | "interpolate-lab"

### outputs[](#outputs)

outputs: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)\[\]

### type[](#type)

type: [InterpolatedValueType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.InterpolatedValueType/)

Implementation of [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/).[type](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/#type)

## Methods[](#methods-1)

### eachChild[](#eachchild)

-   eachChild(fn: (\_: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)) \=> void): void[](#eachchild-1)
    
    #### Parameters
    
    -   fn: (\_: [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)) \=> void
    
    #### Returns void
    
    Implementation of [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/).[eachChild](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/#eachchild)
    

### evaluate[](#evaluate)

-   evaluate(ctx: [EvaluationContext](https://docs.maptiler.com/sdk-js/api-reference/classes/EvaluationContext/)): any[](#evaluate-1)
    
    #### Parameters
    
    -   ctx: [EvaluationContext](https://docs.maptiler.com/sdk-js/api-reference/classes/EvaluationContext/)
    
    #### Returns any
    
    Implementation of [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/).[evaluate](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/#evaluate)
    

### outputDefined[](#outputdefined)

-   outputDefined(): boolean[](#outputdefined-1)
    
    Statically analyze the expression, attempting to enumerate possible outputs. Returns false if the complete set of outputs is statically undecidable, otherwise true.
    
    #### Returns boolean
    
    Implementation of [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/).[outputDefined](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/#outputdefined)
    

### `Static`interpolationFactor[](#interpolationfactor)

-   interpolationFactor(  
        interpolation: [InterpolationType](https://docs.maptiler.com/sdk-js/api-reference/types/InterpolationType/),  
        input: number,  
        lower: number,  
        upper: number,  
    ): number[](#interpolationfactor-1)
    
    #### Parameters
    
    -   interpolation: [InterpolationType](https://docs.maptiler.com/sdk-js/api-reference/types/InterpolationType/)
    -   input: number
    -   lower: number
    -   upper: number
    
    #### Returns number
    

### `Static`parse[](#parse)

-   parse(args: readonly unknown\[\], context: [ParsingContext](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.ParsingContext/)): [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)[](#parse-1)
    
    #### Parameters
    
    -   args: readonly unknown\[\]
    -   context: [ParsingContext](https://docs.maptiler.com/sdk-js/api-reference/classes/Externals.ParsingContext/)
    
    #### Returns [Expression](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Expression/)
