Home > Computing and Information Technology > Computer programming / software engineering > Web programming > Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)
27%
Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)

4.5       |  6 Reviews 
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

“It’s uncommon to have a programming language wonk who can speak in such comfortable and friendly language as David does. His walk through the syntax and semantics of JavaScript is both charming and hugely insightful; reminders of gotchas complement realistic use cases, paced at a comfortable curve. You’ll find when you finish the book that you’ve gained a strong and comprehensive sense of mastery.” —Paul Irish, developer advocate, Google Chrome “This is not a book for those looking for shortcuts; rather it is hard-won experience distilled into a guided tour. It’s one of the few books on JS that I’ll recommend without hesitation.” —Alex Russell, TC39 member, software engineer, Google In order to truly master JavaScript, you need to learn how to work effectively with the language’s flexible, expressive features and how to avoid its pitfalls. No matter how long you’ve been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs. Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of JavaScript’s expressiveness. Reflecting the latest versions of the JavaScript standard, the book offers well-proven techniques and best practices you’ll rely on for years to come. Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You’ll learn how to choose the right programming style for each project, manage unanticipated problems, and work more successfully with every facet of JavaScript programming from data structures to concurrency. Key features include Better ways to use prototype-based object-oriented programming Subtleties and solutions for working with arrays and dictionary objects Precise and practical explanations of JavaScript’s functions and variable scoping semantics Useful JavaScript programming patterns and idioms, such as options objects and method chaining In-depth guidance on using JavaScript’s unique “run-to-completion” approach to concurrency

Table of Contents:
Foreword xiii Preface xv Acknowledgments xvii About the Author xix Chapter 1: Accustoming Yourself to JavaScript 1 Item 1: Know Which JavaScript You Are Using 1 Item 2: Understand JavaScript’s Floating-Point Numbers 7 Item 3: Beware of Implicit Coercions 9 Item 4: Prefer Primitives to Object Wrappers 15 Item 5: Avoid using == with Mixed Types 16 Item 6: Learn the Limits of Semicolon Insertion 19 Item 7: Think of Strings As Sequences of 16-Bit Code Units 25 Chapter 2: Variable Scope 31 Item 8: Minimize Use of the Global Object 31 Item 9: Always Declare Local Variables 34 Item 10: Avoid with 35 Item 11: Get Comfortable with Closures 39 Item 12: Understand Variable Hoisting 42 Item 13: Use Immediately Invoked Function Expressions to Create Local Scopes 44 Item 14: Beware of Unportable Scoping of Named Function Expressions 47 Item 15: Beware of Unportable Scoping of Block-Local Function Declarations 50 Item 16: Avoid Creating Local Variables with eval 52 Item 17: Prefer Indirect eval to Direct eval 54 Chapter 3: Working with Functions 57 Item 18: Understand the Difference between Function, Method, and Constructor Calls 57 Item 19: Get Comfortable Using Higher-Order Functions 60 Item 20: Use call to Call Methods with a Custom Receiver 63 Item 21: Use apply to Call Functions with Different Numbers of Arguments 65 Item 22: Use arguments to Create Variadic Functions 67 Item 23: Never Modify the arguments Object 68 Item 24: Use a Variable to Save a Reference to arguments 70 Item 25: Use bind to Extract Methods with a Fixed Receiver 72 Item 26: Use bind to Curry Functions 74 Item 27: Prefer Closures to Strings for Encapsulating Code 75 Item 28: Avoid Relying on the toString Method of Functions 77 Item 29: Avoid Nonstandard Stack Inspection Properties 79 Chapter 4: Objects and Prototypes 83 Item 30: Understand the Difference between prototype, getPrototypeOf, and__proto__ 83 Item 31: Prefer Object.getPrototypeOf to __proto__ 87 Item 32: Never Modify __proto__ 88 Item 33: Make Your Constructors new-Agnostic 89 Item 34: Store Methods on Prototypes 92 Item 35: Use Closures to Store Private Data 94 Item 36: Store Instance State Only on Instance Objects 95 Item 37: Recognize the Implicit Binding of this 98 Item 38: Call Superclass Constructors from Subclass Constructors 101 Item 39: Never Reuse Superclass Property Names 105 Item 40: Avoid Inheriting from Standard Classes 106 Item 41: Treat Prototypes As an Implementation Detail 109 Item 42: Avoid Reckless Monkey-Patching 110 Chapter 5: Arrays and Dictionaries 113 Item 43: Build Lightweight Dictionaries from Direct Instances of Object 113 Item 44: Use null Prototypes to Prevent Prototype Pollution 116 Item 45: Use hasOwnProperty to Protect Against Prototype Pollution 118 Item 46: Prefer Arrays to Dictionaries for Ordered Collections 123 Item 47: Never Add Enumerable Properties to Object.prototype 125 Item 48: Avoid Modifying an Object during Enumeration 127 Item 49: Prefer for Loops to for...in Loops for Array Iteration 132 Item 50: Prefer Iteration Methods to Loops 133 Item 51: Reuse Generic Array Methods on Array-Like Objects 138 Item 52: Prefer Array Literals to the Array Constructor 140 Chapter 6: Library and API Design 143 Item 53: Maintain Consistent Conventions 143 Item 54: Treat undefined As “No Value” 144 Item 55: Accept Options Objects for Keyword Arguments 149 Item 56: Avoid Unnecessary State 153 Item 57: Use Structural Typing for Flexible Interfaces 156 Item 58: Distinguish between Array and Array-Like 160 Item 59: Avoid Excessive Coercion 164 Item 60: Support Method Chaining 167 Chapter 7: Concurrency 171 Item 61: Don’t Block the Event Queue on I/O 172 Item 62: Use Nested or Named Callbacks for Asynchronous Sequencing 175 Item 63: Be Aware of Dropped Errors 179 Item 64: Use Recursion for Asynchronous Loops 183 Item 65: Don’t Block the Event Queue on Computation 186 Item 66: Use a Counter to Perform Concurrent Operations 190 Item 67: Never Call Asynchronous Callbacks Synchronously 194 Item 68: Use Promises for Cleaner Asynchronous Logic 197 Index 201


Best Sellers


Product Details
  • ISBN-13: 9780321812186
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Depth: 10
  • Language: English
  • Returnable: N
  • Spine Width: 12 mm
  • Weight: 300 gr
  • ISBN-10: 0321812182
  • Publisher Date: 12 Dec 2012
  • Binding: Paperback
  • Height: 234 mm
  • No of Pages: 240
  • Series Title: Effective Software Development Series
  • Sub Title: 68 Specific Ways to Harness the Power of JavaScript
  • Width: 176 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

4.5       |  6 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
4.5       |  6 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)
    Pearson Education (US) -
    Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript(Effective Software Development Series)

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals

      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA