Path: csiph.com!.POSTED.194-73-239-109.cust.centrio.cz!not-for-mail From: Cezary Tomczyk Newsgroups: comp.lang.javascript Subject: Re: Inserting stuff received with AJAX into the DOM Date: Mon, 21 Aug 2017 17:24:26 +0200 Organization: csiph.com Internet News Service Message-ID: References: <7e54d58e-0ce6-4bb5-9f07-f65b69a94a64@googlegroups.com> <5846bd55-f0bd-4088-a596-aba50eef32a5@googlegroups.com> <11843581.uLZWGnKmhe@PointedEars.de> <7340100.T7Z3S40VBb@PointedEars.de> <19530051.EfDdHjke4D@PointedEars.de> <6718455.EvYhyI6sBW@PointedEars.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 21 Aug 2017 15:24:28 +0000 (UTC) Injection-Info: csiph.com; posting-host="194-73-239-109.cust.centrio.cz:109.239.73.194"; logging-data="50104"; mail-complaints-to="admin@kev009.com" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 In-Reply-To: <6718455.EvYhyI6sBW@PointedEars.de> Content-Language: en-GB Xref: csiph.com comp.lang.javascript:33848 On 21/08/2017 16:44, Thomas 'PointedEars' Lahn wrote: > Cezary Tomczyk wrote: > >> On 20/08/2017 22:39, Thomas 'PointedEars' Lahn wrote: >>> Cezary Tomczyk wrote: >>>> On 20/08/2017 19:18, Thomas 'PointedEars' Lahn wrote: >>>>> Cezary Tomczyk wrote: >>>>>> "par" is always defined, […] >>>>> How did you get that idea? >>>> const par = document.createElement( 'p' ); >>> And you are sure that the method that is called on the right-hand side of >>> that assignment cannot possibly return something else than a reference to >>> an object that has a method named “appendChild”? >> >> I am sure that: >> >> const par = document.createElement( 'p' ); >> >> will always create HTML element. I can't see any real scenario where >> createElement method will return "something else than a reference to an >> object that has a method named “appendChild”" in that particular scenario. > > Why? https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement "In an HTML document, the Document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized. In a XUL document, it creates the specified XUL element. In other documents, it creates an element with a null namespace URI." In that particular case: const par = document.createElement( 'p' ); this will return an HTML p element. As for "something else than a reference to an object that has a method named “appendChild”" may occur, of course, but this is a very rare case I would say and even, if it'll occur then calling "appendChild" later will throw a DOM exception which I think it's good because it helps to catch the error on an early stage. I just don't see a benefit of using "if" statement here instead of simple: par.appendChild(text); >> Correct me, if I am wrong. > > Nice try :) :-) -- Cezary Tomczyk http://www.ctomczyk.pl/