Базовые типы данных «ЯваСкрипта»

«ЯваСкрипт» — язык программирования с динамической типизацией, предоставляющий развёрнутую, но простую в использовании систему типов. Данный факт накладывает некоторые ограничения на разработчиков, особенно в контексте использвания АПИ «Вердж3Д». Указание параметров неверных типов может приводить к непредсказуемым и сложноотлаживаемым ошибкам. В связи с этим, мы рекомендуем обращаться к настоящей документации при любых сомнениях.

Any

Любой тип. Данный тип данных отсутствует в «ЯваСкрипте» и служит только для целей документирования методов в настоящем руководстве.

ArrayBuffer

Буфер для хранения произвольных бинарных данных. Для доступа к содержимому данного буфера используется TypedArray.

const buffer = new ArrayBuffer(8); const view = new Uint16Array(buffer); // 4 16-bit zeros

Array

Штатный массив «ЯваСкрипта»:

const numArray = [1, 2, 3, 4]; const strArray = ['A', 'B', 'C']; const emptyArray = [];

Boolean

Логический (булев) тип, может принимать значение true или false. Мы не рекомендуем использовать другие типы в качестве логических, такие как '' (пустая строка), 1 (единица), 0 (ноль) или null.

Constant

Константа «Вердж3Д», определённая в пространстве имён v3d, например: v3d.ESMShadowMap, v3d.RGBAFormat, v3d.MOUSE.LEFT, etc. Описание всех констант приведено в настоящем руководстве.

Float

Число с плавающей запятой: 3.14, -5.0, or 1e6 (миллион). Для некоторых методов и свойств допустимы также значения Infinity (положительная бесконечность) и -Infinity (отрицательная бесконечность).

Function

Функция «ЯваСкрипта». В контексте АПИ «Вердж3Д» данный тип указывает на то, что вам требуется определить коллбек или обработчик события и подать его в качестве параметра в какой-либо метод.

function myCallback1(param) { // ваш код } const myCallback2 = function(param) { // ваш код } const myCallback3 = (param) => { // ваш код }

HTMLElement

ХТМЛ-элемент произвольного типа.

Integer

Целое число, такое как 10, 290, -1 или 0xff0000 (красный цвет в шестнадцатеричном исполнении).

В «ЯваСкрипте» нет специального типа данных для представления целых чисел, поэтому их отличие от чисел с плавающей запятой чисто умозрительное. В частности 10 это же самое что и 10.0, но в контексте настоящего руководства это разные типы данных.

null

Объект null «ЯваСкрпита». В большинстве случаев данный тип указывает на то что данные не определены или не доступны в настоящий момент.

Object

Объект «ЯваСкрипт». В большинстве случаев данный тип указывает на то, что вам следует определить словарь вида:

const myObj = { name: 'Джон Смит', age: 40 }

В случае необходимости использования пробелов или спецсимволов для ключей, поместите их в кавычки:

const myObj = { 'имя': 'Джон Смит', 'возраст#': 40 }

String

Строковой тип, например 'Привет мир!'. Вы также можете использовать двойные кавычки для определения строк: "Привет мир!".

this

Тип данных 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, поэтому данный факт явным образом не указывается в настоящей документации.

TypedArray

Типизированный массив «ЯваСкрипта»:

const array1 = new Uint32Array([1,2,3]); // три 32-битных целых числа const array2 = new Float32Array(1000); // 1000 нулей с плавающей запятой, точность 32 бита

Следующие типизированные массивы используются в «Вердж3Д» наиболее часто:

Тип Использование
Float32Array Позиции, нормали, UV, анимация.
Uint8Array Индексные буферы для небольших мешей.
Uint16Array Индексные буферы для средних мешей.
Uint32Array Индексные буферы для больших мешей.

undefined

Тип undefined (неопределённый). Как следует из названия, данный тип указывает на то, что переменная, свойство или функция не определена. Также, все функции «ЯваСкрипта» которые явно не возвращают никаких значений, неявно возвращают undefined