}
+static njs_ret_t
+njs_array_is_array(njs_vm_t *vm, njs_value_t *args,
+ nxt_uint_t nargs, njs_index_t unused)
+{
+ const njs_value_t *value;
+
+ if (nargs > 1 && njs_is_array(&args[1])) {
+ value = &njs_string_true;
+
+ } else {
+ value = &njs_string_false;
+ }
+
+ vm->retval = *value;
+
+ return NXT_OK;
+}
+
+
static const njs_object_prop_t njs_array_constructor_properties[] =
{
/* Array.name == "Array". */
.name = njs_string("prototype"),
.value = njs_native_getter(njs_object_prototype_create),
},
+
+ /* Array.isArray(). */
+ {
+ .type = NJS_METHOD,
+ .name = njs_string("isArray"),
+ .value = njs_native_function(njs_array_is_array, 0, 0),
+ },
};
/**/
+ { nxt_string("Array.isArray()"),
+ nxt_string("false") },
+
+ { nxt_string("Array.isArray(1)"),
+ nxt_string("false") },
+
+ { nxt_string("Array.isArray([])"),
+ nxt_string("true") },
+
{ nxt_string("a = [1,2,3]; a.concat(4, [5, 6, 7], 8)"),
nxt_string("1,2,3,4,5,6,7,8") },