{"id":168,"date":"2008-06-10T06:56:00","date_gmt":"2008-06-10T06:56:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=168"},"modified":"2008-06-10T06:56:00","modified_gmt":"2008-06-10T06:56:00","slug":"buchkritik-javascript-the-good-parts","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/06\/buchkritik-javascript-the-good-parts\/","title":{"rendered":"Buchkritik: JavaScript: The Good Parts"},"content":{"rendered":"<p><em>Douglas Crockford. O&#8217;Reilly. ISBN 978-0-596-51774-8. Mai 2008. 170 Seiten<\/em><\/p>\n<\/p>\n<p>In meinem Alltag habe ich wenig mit JavaScript zu tun (von meinem Visual Foxpro nach JavaScript-Konverter einmal abgesehen), sodass mir das Buch gerade recht kam, um meine JavaScript-Kenntnisse zu vertiefen. Es ist sicherlich nicht f&#252;r absolute Anf&#228;nger geschrieben, doch f&#252;r Leser mit Grundkenntnissen gut geeignet, tiefer in die Sprache einzusteigen. Techniken wie den Prototyp-Ansatz der Objektorientierung beschreibt Douglas sehr genau, sicherlich etwas zu detailliert f&#252;r diejenigen, die nur&#160; mal eben&quot; JavaScript f&#252;r die Webseite einsetzen m&#246;chten. (HTML und DOM spielen kaum eine Rolle. JavaScript wird eher als allgemeine Programmiersprache behandelt und weniger als&#160; Webseitensprache&quot;.) In seine Beispielen finde ich teilweise den R&#252;ckgriff auf Variablen und Methoden aus vorangehenden Beispielen etwas irritierend. Zum Beispiel kommt seine selbstgebaute beget()-Funktion immer wieder vor, doch ohne einen Verweis f&#252;r Leser, die erst in der Mitte einsteigen und diese Funktion nicht kennen. Seiner Argumentation beim Inkrement-\/Dekrement-Operator ++, &#8211;, &quot;In my own practice, I observed that when I used ++ and &#8211;, my code tended to be too tight, too tricky, too cryptic. So, as a matter of discipline, I don&#8217;t use them any more. I think that as a result, my coding style has become cleaner.&quot; bei den Bad-Parts kann ich nicht folgen, doch sonst erscheinen mit die Bad- und Awfull-Parts recht sinnvoll ausgew&#228;hlt. Der    <br \/>Unterschied zwischen == und === enth&#228;lt tolle Beispiele; Begr&#252;ndungen f&#252;r die Auswertung w&#228;ren allerdings sch&#246;n.<\/p>\n<pre>'' == '0'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/\/ false <br \/>0 == ''&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/\/ true <br \/>0 == '0'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/\/ true <br \/>false == 'false'&#160;&#160; \/\/ false <br \/>false == '0'&#160;&#160;&#160;&#160;&#160;&#160; \/\/ true <br \/>false == undefined \/\/ false <br \/>false == null&#160;&#160;&#160;&#160;&#160; \/\/ false <br \/>null == undefined&#160; \/\/ true <br \/>' \\t\\r\\n ' == 0&#160;&#160;&#160; \/\/ true<\/pre>\n<p>Im Anhang stellt der Autor JSLint vor, ein Tool zum Testen der Codequalit&#228;t von JavaScript-Programmen. Das ist zwar nett, doch h&#228;tte <\/p>\n<p>ich freie JavaScript-Bibliotheken (wie etwa <a href=\"http:\/\/www.prototypejs.org\/\">Prototype<\/a>) lieber gesehen. Das Kapitel 4 (<a href=\"http:\/\/www.oreilly.com\/catalog\/9780596517748\/chapter\/ch04.pdf\">Functions<\/a>) gibt&#8217;s online.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Douglas Crockford. O&#8217;Reilly. ISBN 978-0-596-51774-8. Mai 2008. 170 Seiten In meinem Alltag habe ich wenig mit JavaScript zu tun (von meinem Visual Foxpro nach JavaScript-Konverter einmal abgesehen), sodass mir das Buch gerade recht kam, um meine JavaScript-Kenntnisse zu vertiefen. Es ist sicherlich nicht f&#252;r absolute Anf&#228;nger geschrieben, doch f&#252;r Leser mit Grundkenntnissen gut geeignet, tiefer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[6],"tags":[],"class_list":["post-168","post","type-post","status-publish","format-standard","hentry","category-rezension"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=168"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/168\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}