njs_property_query_t pq;
njs_vmcode_prop_set_t *code;
+ if (njs_is_primitive(object)) {
+ vm->exception = &njs_exception_type_error;
+ return NXT_ERROR;
+ }
+
code = (njs_vmcode_prop_set_t *) vm->current;
value = njs_vmcode_operand(vm, code->value);
{ nxt_string("a = {}; a.b.c"),
nxt_string("TypeError") },
+ { nxt_string("'a'.b = 1"),
+ nxt_string("TypeError") },
+
{ nxt_string("a = {}; a.b = 1; a.b"),
nxt_string("1") },
nxt_string("TypeError") },
{ nxt_string("a = true; a.b++; a.b"),
- nxt_string("undefined") },
+ nxt_string("TypeError") },
{ nxt_string("a = 1; a.b++; a.b"),
- nxt_string("undefined") },
+ nxt_string("TypeError") },
{ nxt_string("a = {}; a.b = {}; a.b.c = 1; a.b['c']"),
nxt_string("1") },
nxt_string("2 1") },
{ nxt_string("a = 2; a.b = 1; c = a.b++; a +' '+ a.b +' '+ c"),
- nxt_string("2 undefined NaN") },
+ nxt_string("TypeError") },
{ nxt_string("x = { a: 1 }; x.a"),
nxt_string("1") },