guest271314, what is you point against `nameof` feature? If you don't like it - don't use it. Why prohibit this feature for those who find it beneficial?
I see `nameof` beneficial in following cases Case 1. Function guard. ``` function func1(options) { ... if (options.userName == undefined) { throw new ParamNullError(nameof options.userName); // `ParamNullError` is a custom error, derived from `Error`, composes error message like "Parameter cannot be null: userName". // `Object.keys({options.userName})[0]` will not work here } } ``` Case 2. Accessing property extended info Those ES functions that accept field name as string. e.g. ``` const descriptor1 = Object.getOwnPropertyDescriptor(object1, 'property1'); ``` vs ``` const descriptor1 = Object.getOwnPropertyDescriptor(object1, nameof object1.property1); // `Object.keys({options1.property1})[0]` will not work here ``` 2nd variant (proposed) has more chances not to be broken during refactoring (robustness). It would make devs who use IDE more productive and make their life easier. Why not give them such possiblity and make them happy? _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss