diff --git a/Userland/Utilities/js.cpp b/Userland/Utilities/js.cpp index c0a94b73f7..603550da79 100644 --- a/Userland/Utilities/js.cpp +++ b/Userland/Utilities/js.cpp @@ -378,6 +378,7 @@ static void print_number(T number) requires IsArithmetic static void print_typed_array(const JS::Object& object, HashTable& seen_objects) { auto& typed_array_base = static_cast(object); + auto& array_buffer = *typed_array_base.viewed_array_buffer(); auto length = typed_array_base.array_length(); print_type(object.class_name()); out("\n length: "); @@ -386,8 +387,10 @@ static void print_typed_array(const JS::Object& object, HashTable& print_value(JS::Value(typed_array_base.byte_length()), seen_objects); out("\n buffer: "); print_type("ArrayBuffer"); - out(" @ {:p}", typed_array_base.viewed_array_buffer()); - if (!length) + if (array_buffer.is_detached()) + out(" (detached)"); + out(" @ {:p}", &array_buffer); + if (!length || array_buffer.is_detached()) return; outln(); // FIXME: This kinda sucks.