potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

JavaScript Uint8ArrayとUint8ClampedArrayの要素の範囲制限方法の違い

  • Uint8Arrayは要素を0~255(0~0xff)の整数に収める。要素は整数かつ& 0xffで変換される。
  • Uint8ClampedArrayは要素を0~255(0~0xff)の整数に収める。要素は整数かつ0未満は0、255超過は255に変換される。
Uint8Array.of(255, 256, 257, 258, 0, -1, -2)
// Uint8Array(7) [ 255, 0, 1, 2, 0, 255, 254 ]

Uint8ClampedArray.of(255, 256, 257, 258, 0, -1, -2)
// Uint8ClampedArray(7) [ 255, 255, 255, 255, 0, 0, 0 ]

参考