CINXE.COM
phpBB.de • JavaScript neue Prototypen
<!DOCTYPE html> <html dir="ltr" lang="de"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="robots" content="noindex" /> <title>phpBB.de • JavaScript neue Prototypen</title> <link href="./styles/phpBBdev1/theme/print.css" rel="stylesheet"> </head> <body id="phpbb" class="ltr"> <div id="wrap" class="wrap"> <a id="top" class="top-anchor" accesskey="t"></a> <div id="page-header"> <h1>phpBB.de</h1> <p>phpBB.de - Die deutsche phpBB-Community<br /><a href="https://www.phpbb.de/community/">https://www.phpbb.de/community/</a></p> <h2>JavaScript neue Prototypen</h2> <p><a href="https://www.phpbb.de/community/viewtopic.php?t=247531">https://www.phpbb.de/community/viewtopic.php?t=247531</a></p> </div> <div id="page-body" class="page-body"> <div class="page-number">Seite <strong>1</strong> von <strong>1</strong></div> <div class="post"> <h3>JavaScript neue Prototypen</h3> <div class="date">Verfasst: <strong>12.01.2025 14:12</strong></div> <div class="author">von <strong>IMC</strong></div> <div class="content">Ich m枚chte einer JS Klasse neue Methoden hinzuf眉gen. In meine aktuellen Fall ist es <code class="inline">Date()</code>.<br> <br> Daf眉r habe ich zwei M枚glichkeiten zur Wahl.<br> Erste: <div class="codebox"><p>Code: <a href="#" onclick="selectCode(this); return false;">Alles ausw盲hlen</a></p><pre><code>Date.prototype.neueMethode = function () { // Code } </code></pre></div> Zweite: <div class="codebox"><p>Code: <a href="#" onclick="selectCode(this); return false;">Alles ausw盲hlen</a></p><pre><code>class imcgerDate extends Date { neueMethode() { // Code } weitereMethode() { // Code } } </code></pre></div> Meine Frage w盲re nun: Ist eine der beiden Methoden bei den Validierern nicht so beliebt und sollte nicht verwendet werden?</div> </div> <hr /> <div class="post"> <h3>Re: JavaScript neue Prototypen</h3> <div class="date">Verfasst: <strong>12.01.2025 14:28</strong></div> <div class="author">von <strong>LukeWCS</strong></div> <div class="content">Hi Thorsten<br> <br> OOP ist so ganz allgemein nicht unbedingt meine Wohlf眉hlzone, aber rein "instinktiv" w眉rde ich Variante 2 w盲hlen, alleine schon mal aus dem Grund, weil es in PHP im Prinzip genauso gemacht wird. Das ist aber eine eher subjektive Aussage und hat in dem Fall nicht soviel Gewicht. <img class="smilies" src="./images/smilies/icon_e_wink.gif" width="15" height="17" alt=":wink:" title="Zwinkern"> Aber auch bei zweitem Hinschauen w眉rde ich erneut Variante 2 w盲hlen, weil es bei Variante 1 zumindest theoretisch passieren k枚nnte, dass ein anderer Ext Coder auch auf die Idee kommen k枚nnte, das so zu machen und schon h盲tten wir eine potentielle Kollisions-Situation.<br> <br> Ob die Validatoren das 盲hnlich sehen weiss ich jedoch nicht. Du k枚nntest das deshalb auch auf .com im <a href="https://www.phpbb.com/community/viewforum.php?f=461" class="postlink">Extension Writers Discussion</a> Forum fragen, da lesen ja auch die Gurus von phpBB.com mit. Da fiele mir z.B. aus dem Stand DavidIQ und MattF ein, die diese Frage sicher beantworten k枚nnten.<br> <br> edit: Und am Rande w眉rde ich bei Variante 2 den Klassennamen <code class="inline">IMCGerDate</code> oder <code class="inline">IMCGERDate</code> w盲hlen, denn bei JS gilt ja eh CamelCase, das kann man ja dann auch f眉r stilistische Notationen nutzen. ^^</div> </div> <hr /> <div class="post"> <h3>Re: JavaScript neue Prototypen</h3> <div class="date">Verfasst: <strong>12.01.2025 16:38</strong></div> <div class="author">von <strong>Mike-on-Tour</strong></div> <div class="content">Hallo Thorsten,<br> ich sehe das so wie Patrick, WENN die "Ausgangs"-Klasse <code class="inline">Date</code> eine allgemein zug盲ngliche Klasse ist, z.B. in einem allgemein verf眉gbaren JS-Script.<br> Wenn es eine JS-Klasse ist, die du selbst z.B. in einer deiner Ext selbst deklariert hast, spricht doch nichts dagegen, diese "Ausgangs"-Klasse zu erweitern, weil du ja dann der Einzige bist, der sie verwendet.</div> </div> <hr /> <div class="post"> <h3>Re: JavaScript neue Prototypen</h3> <div class="date">Verfasst: <strong>12.01.2025 16:58</strong></div> <div class="author">von <strong>IMC</strong></div> <div class="content">Hi Patrick, <blockquote cite="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041"><div><cite><a href="./memberlist.php?mode=viewprofile&u=190625&sid=b48007f0cb10efbb5d6f85af033c6313">LukeWCS</a> hat geschrieben: <a href="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041" aria-label="Zitierten Beitrag anzeigen" data-post-id="1430041" onclick="if(document.getElementById(hash.substr(1)))href=hash"><i class="icon fa-arrow-circle-up fa-fw" aria-hidden="true"></i></a><span class="responsive-hide">12.01.2025 14:28</span></cite> OOP ist so ganz allgemein nicht unbedingt meine Wohlf眉hlzone</div></blockquote> War meine auch nicht. Ich habe aber gelernt das damit vieles einfacher und vor allen 眉bersichtlicher geht. Bin aber noch am lernen, bei jeden Projekt entdecke ich neues.<br> <blockquote cite="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041"><div><cite><a href="./memberlist.php?mode=viewprofile&u=190625&sid=b48007f0cb10efbb5d6f85af033c6313">LukeWCS</a> hat geschrieben: <a href="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041" aria-label="Zitierten Beitrag anzeigen" data-post-id="1430041" onclick="if(document.getElementById(hash.substr(1)))href=hash"><i class="icon fa-arrow-circle-up fa-fw" aria-hidden="true"></i></a><span class="responsive-hide">12.01.2025 14:28</span></cite> Aber auch bei zweitem Hinschauen w眉rde ich erneut Variante 2 w盲hlen, weil es bei Variante 1 zumindest theoretisch passieren k枚nnte, dass ein anderer Ext Coder auch auf die Idee kommen k枚nnte, das so zu machen und schon h盲tten wir eine potentielle Kollisions-Situation.</div></blockquote> Der Gedanke ist mir auch schon gekommen. Werde die Variante 2 w盲hlen.<br> <blockquote cite="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041"><div><cite><a href="./memberlist.php?mode=viewprofile&u=190625&sid=b48007f0cb10efbb5d6f85af033c6313">LukeWCS</a> hat geschrieben: <a href="./viewtopic.php?p=1430041&sid=b48007f0cb10efbb5d6f85af033c6313#p1430041" aria-label="Zitierten Beitrag anzeigen" data-post-id="1430041" onclick="if(document.getElementById(hash.substr(1)))href=hash"><i class="icon fa-arrow-circle-up fa-fw" aria-hidden="true"></i></a><span class="responsive-hide">12.01.2025 14:28</span></cite> Und am Rande w眉rde ich bei Variante 2 den Klassennamen <code class="inline">IMCGerDate</code> oder <code class="inline">IMCGERDate</code> w盲hlen,</div></blockquote> Du hast wieder Recht. Bei den JS-Klassen wird zur besseren Unterscheidung zumindest der erste Buchstabe gro脽 geschrieben. Das habe ich noch nicht so verinnerlicht. Werde es an anderen Stellen auch nachtr盲glich anpassen.<br> <br> Edit;<br> Hi Mike,<br> danke f眉r deine Einsch盲tzung. Werde ich jetzt so machen.</div> </div> <hr /> </div> <div id="page-footer" class="page-footer"> <div class="page-number">Alle Zeiten sind <span title="Europa/Berlin">UTC+01:00</span><br />Seite <strong>1</strong> von <strong>1</strong></div> <div class="copyright"> <p>Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited </p> <p>Deutsche 脺bersetzung durch <a href="https://www.phpbb.de/">phpBB.de</a> </p> </div> </div> </div> </body> </html>