【JavaScript】ファイルの存在チェック(ネイティブ機能)【2023年最新版】

このファイルの存在チェックの最新はこちら

2023年現在、JavaScriptにおけるファイルの存在チェック方法は次の通り。
fetchメソッドとasync/awaitを使うとファイルの存在チェックを行うコードを書ける。
fetchメソッド: ES2015(ES6)で導入
async/await: ES2017(ES8)で導入

このコードはライブラリを使用せず、純粋なJavaScriptを使用して、指定されたファイルの存在を確認する。
ネイティブなJavaScriptの機能(fetch関数とasync/await)を利用して、指定されたファイルの存在を確認する。

続きを読む

【JavaScript】ArrayBufferオブジェクトをBlobオブジェクトに変換する【中級者】

ArrayBufferオブジェクトをBlobオブジェクトに変換は、「ArrayBufferオブジェクトが1つの場合」と「複数のArrayBufferオブジェクトが配列に格納されている場合」で方法が違うので注意すること。
ここはややこしく難しいところであるため、気を付けること。


// ArrayBufferオブジェクトが1つの場合
// arrayBuffer =  ArrayBuffer
// arrayBufferをBlob オブジェクトに変換する。
// ArrayBufferオブジェクトはfirefoxのコンソールには[object ArrayBuffer]と出る。
const blob = new Blob([arrayBuffer]);

// 複数のArrayBufferオブジェクトが配列に格納されている場合
// arrayBufferList = [ArrayBuffer,ArrayBuffer,ArrayBuffer,ArrayBuffer,ArrayBuffer・・・・]
// arrayBufferListをBlob オブジェクトに変換する。
// blobオブジェクトはfirefoxのコンソールには[object Blob]と出る。
const blob = new Blob(arrayBufferList);
続きを読む

【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 {}
続きを読む

【Git】branchの削除

github上のbranchの削除した後に、gitのbranchを削除しようとしたら次のようにエラーが出た。
gitのbranchを削除した後に、github上のbranchの削除する必要がある。
削除する順番は重要だな。まぁ、-Dオプションで強制的にbranchの削除できるけどな。

追記 20231005
違うか。これは、mainでpullしていない状態でbranch削除しようとしてもエラーが出るな。
branch削除でエラーが出るパターンは複数あるみたいだな。

続きを読む

【JavaScript】delete演算子

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

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

続きを読む

【Node.js】socket.to(socket.id).emit()とio.to(socket.id).emit()

Node.jsのSocket.IOにおいて、
socket.to(socket.id).emit()とio.to(socket.id).emit()は両方とも、特定のユーザー(socket.id)のみにメッセージを送る。ただし、特定のユーザー(socket.id)がどこかの部屋に入っているか、どの部屋にも入っていないかは関係ない。つまり、部屋は関係ないと覚えておいたらいい。

続きを読む