Типизированные массивы обычно используются при взаимодействии с внешним миром, где данные поступают в определенную форму, отличную от javascript, и вы хотите получить доступ к этим данным через javascript. Массивы типов используются для создания определенного представления буфера данных. Буфер представляет собой необработанные данные, и представление представляет собой метод чтения/интерпретации/доступа к этим данным.
Если вы не взаимодействуете с внешним миром и не пытаетесь обрабатывать данные, созданные за пределами javascript или отправленные агенту за пределами javascript, тогда обычно можно использовать обычный массив javascript и не использовать буферы и типизированные массивы.
Это то, что типы вы спрашивали о являются:
Int16Array: An array of 16-bit integers (signed) - 2 bytes per entry
Uint8Array: An array of 8-bit unsigned integers - 1 byte per entry
Uint32Array: An array of 32-bit unsigned integers - 4 bytes per entry
Вы можете увидеть список всех типизированных массивов здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
Когда переменная typed
, что означает, что переменная имеет очень специфический тип и только тот тип. Тип может быть строкой, 16-разрядным знаковым целым числом, числом с плавающей запятой и т. Д. В javascript переменная может хранить любые данные, поэтому она не набирается специально. В других языках, таких как C, переменные обычно предопределены для хранения определенного типа и (без использования определенных переопределений), вы не можете назначать данные разных типов этой переменной.
Не намереваясь приступить к аргументации о желательности использования различных языковых функций, обычно считается более безопасным для программирования на типизированных языках, и данные, возможно, могут быть быстрее обработаны механизмом выполнения, но нетипизированные или слабо типизированные языки иногда могут быть более гибкий - сделать его проще или чище, чтобы что-то сделать.
Это uint32, как в Unsigned INTeger, не так ли? – ppeterka
Это не часть JavaScript (пока) – Mohsen
@Mohsen: не в самой спецификации ECMAScript, но некоторые браузеры предоставляют объекты хоста, которые действительно такие вещи - см. Https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Typed_arrays для более подробной информации. –