Thanks to Pointy I have found a good solution.
function isSigned(TypedArray) { const sample = TypedArray.BYTES_PER_ELEMENT === 8 ? [-1n] : [-1]; const array = new TypedArray(sample); return ArrayBuffer.isView(array) && array[0] < 0; }