The ConstrainULong type is used to specify a constraint for a property whose value is an integral number. It extends the ULongRange dictionary (which provides the ability to specify a permitted range of property values) to also support an exact value and/or an ideal value the property should take on. In addition, you can specify the value as a simple long integer value, in which case the user agent does its best to match the value once all other more stringent constraints are met.


If the value of a ConstrainULong is an object rather than a number, it may have the properties below in addition to the properties it inherits from ULongRange.

An integer specifying precise, required, value the property must have to be considered acceptable.
An integer specifying a value the property would ideally have, but which can be considered optional if necessary to find a match.


Specification Status Comment
Media Capture and Streams
The definition of 'ConstrainULong' in that specification.
Candidate Recommendation Initial definition

Technically, ConstrainULong is actually based on an intermediary dictionary named ConstrainULongRange, which adds exact and ideal to ULongRange, with ConstrainULong being a type that can be either a long integer or a ULongRange. However, for the sake of documentation clarity, the intermediate type (present only because of quirks in WebIDL syntax) is ignored here.

Browser compatibility

No compatibility data found. Please contribute data for "api.ConstrainULong" (depth: 1) to the MDN compatibility data repository.

See also