«Ява Скрипт» — язык программирования с динамической типизацией, предоставляющий развёрнутую, но простую в использовании систему типов. Данный факт накладывает некоторые ограничения на разработчиков, особенно в контексте использвания АПИ «Вердж3Д». Указание параметров неверных типов может приводить к непредсказуемым и сложноотлаживаемым ошибкам. В связи с этим, мы рекомендуем обращаться к настоящей документации при любых сомнениях.
Любой тип. Данный тип данных отсутствует в «Ява Скрипте» и служит только для целей документирования методов в настоящем руководстве.
Буфер для хранения произвольных бинарных данных. Для доступа к содержимому данного буфера используется TypedArray.
const buffer = new ArrayBuffer(8);
const view = new Uint16Array(buffer); // 4 16-bit zeros
Штатный массив «Ява Скрипта»:
const numArray = [1, 2, 3, 4];
const strArray = ['A', 'B', 'C'];
const emptyArray = [];
Логический (булев) тип, может принимать значение true
или false
. Мы не рекомендуем использовать другие типы в качестве логических, такие как ''
(пустая строка), 1
(единица), 0
(ноль) или null
.
Константа «Вердж3Д», определённая в пространстве имён v3d
, например: v3d.ESMShadowMap
, v3d.RGBAFormat
, v3d.MOUSE.LEFT
, etc. Описание всех констант приведено в настоящем руководстве.
Число с плавающей запятой: 3.14
, -5.0
, or 1e6
(миллион). Для некоторых методов и свойств допустимы также значения Infinity
(положительная бесконечность) и -Infinity
(отрицательная бесконечность).
Функция «Ява Скрипта». В контексте АПИ «Вердж3Д» данный тип указывает на то, что вам требуется определить коллбек или обработчик события и подать его в качестве параметра в какой-либо метод.
function myCallback1(param) {
// ваш код
}
const myCallback2 = function(param) {
// ваш код
}
const myCallback3 = (param) => {
// ваш код
}
ХТМЛ-элемент произвольного типа.
Целое число, такое как 10
, 290
, -1
или 0xff0000
(красный цвет в шестнадцатеричном исполнении).
В «Ява Скрипте» нет специального типа данных для представления целых чисел, поэтому их отличие от чисел с плавающей запятой чисто умозрительное. В частности 10
это же самое что и 10.0
, но в контексте настоящего руководства это разные типы данных.
Объект null
«Ява Скрипта». В большинстве случаев данный тип указывает на то что данные не определены или не доступны в настоящий момент.
Объект «Ява Скрипта». В большинстве случаев данный тип указывает на то, что вам следует определить словарь вида:
const myObj = {
name: 'Джон Смит',
age: 40
}
В случае необходимости использования пробелов или спецсимволов для ключей, поместите их в кавычки:
const myObj = {
'имя': 'Джон Смит',
'возраст#': 40
}
Строковой тип, например 'Привет мир!'
. Вы также можете использовать двойные кавычки для определения строк: "Привет мир!"
.
Тип данных this
. В большинстве мест настоящей документации this
используется для указания на то, что метод возвращает ссылку на инстанс класса. Данные методы могут быть вызваны цепочкой:
// [0, 0, 0] → [10, 0, 0] → [11, 1, 1] → [6, 0, 0]
new v3d.Vector3().setX(10).addScalar(1).sub(new v3d.Vector3(5, 1, 1));
По определению, все конструкторы классов возвращают this
, поэтому данный факт явным образом не указывается в настоящей документации.
Типизированный массив «Ява Скрипта»:
const array1 = new Uint32Array([1,2,3]); // три 32-битных целых числа
const array2 = new Float32Array(1000); // 1000 нулей с плавающей запятой, точность 32 бита
Следующие типизированные массивы используются в «Вердж3Д» наиболее часто:
Тип | Использование |
---|---|
Float32Array | Позиции, нормали, UV, анимация. |
Uint8Array | Индексные буферы для небольших мешей. |
Uint16Array | Индексные буферы для средних мешей. |
Uint32Array | Индексные буферы для больших мешей. |
Тип undefined
(неопределённый). Как следует из названия, данный тип указывает на то, что переменная, свойство или функция не определена. Также, все функции «Ява Скрипта» которые явно не возвращают никаких значений, неявно возвращают undefined