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 19:50:25 +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> <3126118.iIbC2pHGDl@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 17:50:26 +0000 (UTC) Injection-Info: csiph.com; posting-host="194-73-239-109.cust.centrio.cz:109.239.73.194"; logging-data="56191"; 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: <3126118.iIbC2pHGDl@PointedEars.de> Content-Language: en-GB Xref: csiph.com comp.lang.javascript:33850 On 21/08/2017 17:47, Thomas 'PointedEars' Lahn wrote: > Cezary Tomczyk wrote: > >> On 21/08/2017 16:44, Thomas 'PointedEars' Lahn wrote: >>> Cezary Tomczyk wrote: >>>> 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 >> […] > > Certainly you can come up with something better than hearsay. Possibly there is a better explanation than just hearsay. >> In that particular case: >> >> const par = document.createElement( 'p' ); >> >> this will return an HTML p element. > > It may. Well, recently you wrote: "As a rule of thumb, if the object in question always had the method and it always worked, I do not feature-test it." Isn't now that case? I might be wrong, but if there are cases that may strongly require "if" here then I'd like to know. >> 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 > > When in doubt, be careful. :-) >> 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. > > An exception, but not a “DOM exception” will be thrown, if the object does > not have the method. Or execution will simply stop with an error. Who > knows. createElement() is a host object’s method. Right, an exception. createElement() is a host object’s method, but it was always available and unless it's not modified it has been always working quite good. -- Cezary Tomczyk http://www.ctomczyk.pl/