Path: csiph.com!3.eu.feeder.erje.net!feeder.erje.net!news.albasani.net!.POSTED!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: comp.lang.javascript Subject: Re: Object prop missing? Date: Thu, 13 Jun 2019 17:30:09 +0200 Organization: PointedEars Software (PES) Lines: 34 Message-ID: <4513428.33T0Q7i3B6@PointedEars.de> References: <12600445.cR47uQ6sgG@PointedEars.de> <4KGdnc1BE6S_tp_AnZ2dnUU7-YXNnZ2d@westnet.com.au> <2720861.OsphAzSTzx@PointedEars.de> Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: news.albasani.net HLGHQYB0C+bfXbA3B07pxbz4zxCThPExcb8LEZ878ac1C805IGiOwJK2wyy2Thax4yZfgvRRGjgVgja3viH7OswwVTu9q/yaKwqSJ85GU3yn2KQW+/xKVmN1MITMe5SA NNTP-Posting-Date: Thu, 13 Jun 2019 15:30:10 +0000 (UTC) Injection-Info: news.albasani.net; logging-data="vQ57RVlYsqYYUw1QaFtuXhRk/bjay/pVBrIFd4TtFzi0gBK8m+p7LVbxnpl2VgX70E89rtABkmQ0+bcIOjp+hjZwthcQItiAl6nNIV+TrOyPBw3q5o0Xq5XtVMu3L9XB"; mail-complaints-to="abuse@albasani.net" User-Agent: KNode/4.14.10 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEXTxa4RFk5dUWANED8PFEfy7+MGBiW+n3ZNF/QuAAACaElEQVQ4jVXUwVOcMBQG8Dc7Rc4PUntdWV2uxjDpGaGeozOp1woar4jd5t/v9wLstMwsA/ntlxdCAgUc1hjTc9/JCZfGoo3wG3HdmdAWrIJRHe7GM/TmpY5VFefuVcAkkPbLIaN8rmPmjloyZxgyR3GuJ4K0AGtJ2htz8o7yqikm759fldQXaMpbDzjKAG+8v+AugVTOPO5DOjLvGtUYQwh0CPjnVMyGd+8/GfUB5nLKJDD2aLDh5HYyMDJGDwQIo2ZmZcKbowNmAdB/AzyFhrmF2MHRb0QJJfaAnwGB6orZhoykLzJtGwF/xpYxI1dswomiUj3gTuAIqCn/4C7cULwGNBtwMTk3Y4LfKB5YUaOKBKYtpplm7u0vip8tU1NWWyI/7XdcSuIDoMt6rVHMWT0DbjHPGqDqZVSa6zleLcUTcIKLoMv3ueJluALtAo9B302zPPlrtiVScRdCjXvVh3e3JpYa/jjkuC9N+LrBMlz/eAN4eQijX2EdLo6c5tGGHwLyHFtXk89dDGHwCVhG9T0S/j55AhRZgkMCmUQXJ49TnS1wnQDvw0eAh9ICeMmEFbCnPMFzjAvsWoEWEFdYEx+S0MoUZ1gT1wId8+AF3Bl2OoEu906AUHx5VLw/gXYg/x84loOah/2UYNrgiwSwGO7RfUzVBbx/kgpckumGOi6QirtD6gkLTitbnxNol47S2jVc2vsN5kPqaAHT8uUdAJM4v/DanjYOwmUjWznGfwB7sGtAtor5BgofDuzaRj4kSQAqDakTsKORa3Q3xKi3gE1fhl71KRMqrdZ2AWNNg/YOhQyrVBnb+i+nEg4bsDA+egAAAABJRU5ErkJggg== X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. […] but what I can't understand is with this: > > console.log(options[1]); // 1. > console.log(options[1].h); // 2. > > why 1. shows a value for h yet 2. (which immediately follows 1.) says h > is undefined. Very simple: You have not added the property to the object referred to by “options[1]”, you have added it and removed it later, or you have set it to “undefined”. “JJ”’s argument is sound as well. For example, one can create an object that cannot be augmented with properties: var obj = Object.freeze({}); /* TypeError exception only in strict mode */ obj.h = 42; /* undefined */ console.log(obj.h); This behavior actually applies to primitive strings since ECMAScript Ed. 5. [If one wishes to call custom methods on string values, one must augment the String prototype, or use .call() or .apply() instead.] -- PointedEars FAQ: | | Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.