Types
OSL supports six fundamental data types that can be used to represent various kinds of data.
String
Text values enclosed in double quotation marks.
// Basic string
name = "Hello"
// String with spaces
message = "Hello, World!"
// String with special characters
path = "C:/Users/Documents"Boolean
Logical values representing true or false (case-insensitive).
// Boolean values
isTrue = true
isFalse = false
// In conditions
if true (
log "This will execute"
)
// Boolean operations
result = true and false // falseNumber
Numeric values including integers and decimals.
// Integers
count = 42
negative = -10
// Decimals
price = 19.99
temperature = -2.5
// In calculations
total = 10.5 + 20 // 30.5Array
Ordered collections of values enclosed in square brackets.
// Simple array
names = ["Alice", "Bob", "Charlie"]
// Mixed type array
data = [1, "two", true, 4.5]
// Nested array
matrix = [[1, 2], [3, 4]]
// Empty array
empty = []Object
Key-value collections enclosed in curly braces.
// Simple object
person = {
name: "John",
age: 30
}
// Nested object
user = {
info: {
id: 123,
email: "[email protected]"
},
settings: {
theme: "dark"
}
}
// Object with arrays
data = {
numbers: [1, 2, 3],
flags: [true, false]
}null
Represents an empty or undefined value.
// Explicit null
value = null
// Empty strings are the same as null
empty = ""
// Checking for null
if value == null (
log "Value is null"
)
// In objects
user = {
name: "John",
middleName: null
}Type Checking
You can check the type of a value using the typeof() function:
typeof("Hello") // "string"
typeof(42) // "number"
typeof(true) // "boolean"
typeof([1,2,3]) // "array"
typeof({x:1}) // "object"
typeof(null) // "null"Important Notes
Strings must use double quotes (
")Booleans are case-insensitive (
Trueortrue)Numbers must match the pattern
[0-9.\-]+Arrays can contain mixed types
Object keys don't need quotes
nullrepresents absence of valueAll types support the
.getType()method
Last updated
Was this helpful?