# Expression

#### new Cesium.Expression(expression, defines)
Scene/Expression.js 37

An expression for a style applied to a `Cesium3DTileset`.

Evaluates an expression defined using the 3D Tiles Styling language.

Implements the `StyleExpression` interface.

Name | Type | Description
--- | --- | ---
`expression` | String | optional The expression defined using the 3D Tiles Styling language.
`defines` | Object | optional Defines in the style.

##### Examples:

    var expression = new Cesium.Expression('(regExp("^Chest").test(${County})) && (${YearBuilt} >= 1970)');
    expression.evaluate(feature); // returns true or false depending on the feature's properties

    var expression = new Cesium.Expression('(${Temperature} > 90) ? color("red") : color("white")');
    expression.evaluateColor(feature, result); // returns a Cesium.Color object

### Members

#### readonly expression : String
Scene/Expression.js 71

Gets the expression defined in the 3D Tiles Styling language.

Default Value: `undefined`

### Methods

#### evaluate(feature, result) → Boolean|Number|String|RegExp|Cartesian2|Cartesian3|Cartesian4|Color
Scene/Expression.js 137

Evaluates the result of an expression, optionally using the provided feature's properties. If the result of the expression in the 3D Tiles Styling language is of type `Boolean`, `Number`, or `String`, the corresponding JavaScript primitive type will be returned. If the result is a `RegExp`, a Javascript `RegExp` object will be returned. If the result is a `Cartesian2`, `Cartesian3`, or `Cartesian4`, a `Cartesian2`, `Cartesian3`, or `Cartesian4` object will be returned. If the `result` argument is a `Color`, the `Cartesian4` value is converted to a `Color` and then returned.

Name | Type | Description
--- | --- | ---
`feature` | Cesium3DTileFeature | The feature whose properties may be used as variables in the expression.
`result` | Object | optional The object onto which to store the result.

##### Returns:

The result of evaluating the expression.

#### evaluateColor(feature, result) → Color
Scene/Expression.js 163

Evaluates the result of a Color expression, optionally using the provided feature's properties.

This is equivalent to `Expression#evaluate` but always returns a `Color` object.

Name | Type | Description
--- | --- | ---
`feature` | Cesium3DTileFeature | The feature whose properties may be used as variables in the expression.
`result` | Color | optional The object in which to store the result

##### Returns:

The modified result parameter or a new Color instance if one was not provided.