24c626c1f7
Only print the property name when accessing null/undefined if we can convert it to a string without causing side effects. If we can't, omit the property name in the error message. This should avoid confusion when the key is an object with toString(). E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object Object]' anymore, which was misleading since the property accessed would be 'a', but we can't evaluate the key without side effects. Bug: v8:11365 Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75250}
6 lines
236 B
Plaintext
6 lines
236 B
Plaintext
*%(basename)s:5: TypeError: Cannot destructure property '1' of 'undefined' as it is undefined.
|
|
var { 1: x } = undefined;
|
|
^
|
|
TypeError: Cannot destructure property '1' of 'undefined' as it is undefined.
|
|
at *%(basename)s:5:10
|