JavaScript

【JavaScript】Typed Array(型化された配列)をArrayBufferオブジェクトに変換する【中級者】


Typed ArrayのUint8Arrayオブジェクトのbufferプロパティにアクセスする。これがArrayBufferオブジェクトである。
「Uint8Arrayオブジェクトのbufferプロパティへの参照 = ArrayBufferオブジェクト」
これがTyped ArrayからArrayBufferオブジェクトへの変換である。


const ua = Uint8Array.of(1,2,3,4,5,6)
// あるいは
// const ua = new Uint8Array([1,2,3,4,5,6])

const buf = ua.buffer

ua
// [1, 2, 3, 4, 5, 6]

buf
// ArrayBuffer {}
続きを読む

【JavaScript】delete演算子

配列の要素とオブジェクトのプロパティはdelete演算子を使って削除可能である。
しかし、次のようにdelete演算子の挙動が複雑である。

私は、挙動が複雑なdelete演算子は使わないことにする。代わりにMap Objectを使うことにする。

続きを読む

【JavaScript】「Promiseとthen」を使ったコードを「Promiseとasyncとawait」を使ったコードに書き換える

「Promiseとthen」を使ったコードを「Promiseとasyncとawait」を使ったコードに書き換える。
サンプルは次がようになる。
重要なとこは「new Promise」にはコールバック関数「resolve」とコールバック関数「reject」を渡すこと。「Promiseとthen」を使ったコードはthenを使わずに「Promiseとasync/await」を使ったコードに書き換えることができること。
「Promiseとthen」と「Promiseとasync/await」は連続する非同期処理のチェーンを簡単に扱うための仕組みである。なので、非同期処理のチェーンのサンプルを用意した。

続きを読む

【JavaScript】toLocaleTimeStringメソッドと「new Date()」

「new Date()」とtoLocaleTimeStringメソッドについて書いていく。
正確には、「new Date()」は環境に依存し、実行環境によって取得する日時が異なる可能性がある。つまり、「new Date()」が返す値は、ブラウザや実行環境の設定に基づいており、必ずしも日本時間とは限らない。さらに、「new Date()」は、実行環境のタイムゾーン情報を基にして時刻を取得する。しかし、その際にサマータイムの考慮は行われない。つまり、実行環境がサマータイムを正しく反映しているかどうかは保証されない。

続きを読む