Pro JavaScript Development [electronic resource] : Coding, Capabilities, and Tooling /
Odell, Den.author.
Pro JavaScript Development is a practical guide for front-end web developers who are experienced at building web pages with HTML, CSS, and JavaScript, and now wish to advance their JavaScript skills to a higher level. You will learn how to build large, well-structured, high quality, mobile-optimized web sites and apps, using the latest supported browser APIs, language features, and tools. This book teaches and shows you in practical hands-on terms how you can: Master the performance, reliability, stability, and code manageability of your JavaScript Understand and write efficient object-oriented and prototypal code, including full understanding of the 'this' keyword Boost the performance of your JavaScript code Architect large web applications using common design patterns Write high quality JavaScript code and avoid the pitfalls most likely to cause errors Manage code dependencies with AMD and RequireJS Develop for mobile, build games, and set up a real-time video chat using modern APIs such as Geolocation, Canvas and WebRTC Document your code as the professionals do Write command-line and web server applications in JavaScript with Node.js, Use build tools, such as Grunt and Gulp, to automate repetitive tasks and improve your development workflow Using real-world examples and applications that you'll build yourself, Pro JavaScript Development has unique, practical content that will make you a better JavaScript developer. Become a master of the latest JavaScript coding techniques and tools, and harness its best capabilities today.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""About the Technical Reviewers""; ""Acknowledgments""; ""Introduction""; ""Chapter 1: Object-Oriented JavaScript""; ""Objects in JavaScript""; ""Custom Objects""; ""Classes""; ""Detecting An Objectâ€?s Constructor""; ""Assigning Properties And Methods Using Prototype""; ""Assigning Properties And Methods Using Scope""; ""Context and the this keyword""; ""Chaining Methods""; ""Inheritance""; ""Encapsulation""; ""Polymorphism""; ""The JavaScript Functionâ€?s apply and call Methods""; ""The arguments object""
""Public, Private, and Protected Access To Properties And Methods""""Simplifying Inheritance""; ""Coding Conventions And Naming""; ""Rule 1: Use descriptive names""; ""Rule 2: Begin with a lowercase letter""; ""Rule 3: Use camel-case to represent word divisions""; ""Rule 4: Use all uppercase characters to represent universal constants""; ""Rule 5: Group together variable declarations in one statement at the top of every function block""; ""Variable and Function Name Hoisting""; ""ECMAScript 5""; ""JSON Data Format Parsing""; ""Strict Mode""; ""Function binding""; ""Array Methods""
""Object Methods""""Summary""; ""Chapter 2: Documenting JavaScript""; ""Inline and Block Comments""; ""Structured JavaScript Documentation""; ""The YUIDoc Documentation Format""; ""Documenting â€œClassesâ€?, Constructors, Properties and Methods""; ""Specifying Inputs Parameters and Return Values of Methods""; ""Documenting Optional Method Input Parameters""; ""Documenting a Property Containing a Constant Value""; ""Documenting Private, Protected and Public Methods and Properties""; ""Documenting Inherited â€œClassesâ€?""; ""Documenting Chained Methods""
""Documenting Groups of Related â€œClassesâ€?""""Documenting Events""; ""Documenting Code Examples""; ""Other YUIDoc Documentation Tags""; ""Expressive Documentation Formatting â€? Markdown""; ""Grouping Content Under Headings""; ""Breaking Lines And Creating Paragraphs""; ""Creating Lists""; ""Emphasizing Text""; ""Displaying Code""; ""Adding Quotes""; ""Linking To URLs""; ""Inserting Images""; ""Creating Horizontal Rules""; ""Using Backslash To Insert Reserved Characters""; ""For Everything Else, Thereâ€?s HTML""; ""Creating a Documentation Website Using YUIDoc""; ""Taking It Further""
""Summary""""Chapter 3: Writing High-Quality JavaScript""; ""Performing Static Code Analysis""; ""JSLint""; ""JSHint""; ""Google Closure Compiler and Linter""; ""Choosing a Static Code Analysis Tool""; ""Unit Testing In JavaScript""; ""Unit Testing Frameworks For JavaScript""; ""Using Jasmine For JavaScript Unit Testing""; ""Other Matchers""; ""Additional Features Of Jasmine""; ""Handling Runtime Errors""; ""JavaScriptâ€?s Native Error Types""; ""Wrap Code That May Error In A try-catch Statement""; ""Detecting The Type Of Error Thrown""; ""Creating Custom Error Types""
""Measuring Code Quality""
Includes index.
Pro JavaScript Development is a practical guide for front-end web developers who are experienced at building web pages with HTML, CSS, and JavaScript, and now wish to advance their JavaScript skills to a higher level. You will learn how to build large, well-structured, high quality, mobile-optimized web sites and apps, using the latest supported browser APIs, language features, and tools. This book teaches and shows you in practical hands-on terms how you can: Master the performance, reliability, stability, and code manageability of your JavaScript Understand and write efficient object-oriented and prototypal code, including full understanding of the 'this' keyword Boost the performance of your JavaScript code Architect large web applications using common design patterns Write high quality JavaScript code and avoid the pitfalls most likely to cause errors Manage code dependencies with AMD and RequireJS Develop for mobile, build games, and set up a real-time video chat using modern APIs such as Geolocation, Canvas and WebRTC Document your code as the professionals do Write command-line and web server applications in JavaScript with Node.js, Use build tools, such as Grunt and Gulp, to automate repetitive tasks and improve your development workflow Using real-world examples and applications that you'll build yourself, Pro JavaScript Development has unique, practical content that will make you a better JavaScript developer. Become a master of the latest JavaScript coding techniques and tools, and harness its best capabilities today.
Computer programming.
Software engineering.
Web Development.
Software Engineering/Programming and Operating Systems.