
JavaScript : Object-Oriented Programming
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Kumar Chetan Sharma studied to be an electronics engineer and has always wanted to build an ultimate sound system. He then, by chance, got a part time job as a trainee HTML guy. From there he picked up CSS and JavaScript and there was no looking back. It was the time when JavaScript was used to validate forms or create fancy DHTML effects and IE6 was the only browser the world knew. He has been developing web applications since then, using LAMP stack. He has worked on white label social networking applications to web control panels for telecom and networked electrical charger infrastructures. He currently works as a frontend engineer for Yahoo! Search.C. Hillar Gaston :
Gaston C. Hillar is Italian and has been working with computers since he was 8 years old. Gaston has a Bachelor's degree in computer science (graduated with honors) and an MBA. Currently, Gaston is an independent IT consultant and a freelance author who is always looking for new adventures anywhere in the world. He was a senior contributing editor at Dr. Dobb's, and has written more than a hundred articles on software development topics. He has received the prestigious Intel Black Belt Software Developer award eight times. He has written many articles about Java for Oracle Java Magazine. Gaston was also a former Microsoft MVP in technical computing. He lives with his wife, Vanesa, and his two sons, Kevin and Brandon.Antani Ved :
Ved Antani has been building scalable server and mobile platforms using JavaScript, Go, and Java since 2005. He is an associate vice president at Myntra and has previously worked at Electronic Arts and Oracle. He is an avid reader and author on several subjects. He has studied computer science and currently lives in Bangalore, India. Ved is passionate about classical music and loves to spend time with his son.
Content
- Cover
- Copyright
- Credits
- Preface
- Mastering JavaScript
- JavaScript Primer
- A little bit of history
- How to use this book
- Hello World
- Summary
- Functions, Closures, and Modules
- A function literal
- Functions as data
- Scoping
- Function declarations versus function expressions
- The arguments parameter
- Anonymous functions
- Closures
- Timers and callbacks
- Private variables
- Loops and closures
- Modules
- Summary
- Data Structures and Manipulation
- Regular expressions
- Exact match
- Match from a class of characters
- Repeated occurrences
- Beginning and end
- Backreferences
- Greedy and lazy quantifiers
- Arrays
- Maps
- Sets
- A matter of style
- Summary
- Object-Oriented JavaScript
- Understanding objects
- Instance properties versus prototype properties
- Inheritance
- Getters and setters
- Summary
- JavaScript Patterns
- Design patterns
- The namespace pattern
- The module pattern
- The factory pattern
- The mixin pattern
- The decorator pattern
- The observer pattern
- JavaScript Model-View-* patterns
- The Model-View-Presenter pattern
- Model-View-ViewModel
- Summary
- Testing and Debugging
- Unit testing
- JavaScript debugging
- Summary
- ECMAScript 6
- Shims or polyfills
- Transpilers
- ES6 syntax changes
- Summary
- DOM Manipulation and Events
- DOM
- Chaining
- Traversal and manipulation
- Working with browser events
- Propagation
- jQuery event handling and propagation
- Event delegation
- The event object
- Summary
- Server-Side JavaScript
- An asynchronous evented-model in a browser
- Callbacks
- Timers
- EventEmitters
- Modules
- npm
- JavaScript performance
- Summary
- Objects Everywhere
- Recognizing objects from nouns
- Generating blueprints for objects
- Recognizing attributes/fields
- Recognizing actions from verbs - methods
- Organizing the blueprints - classes
- Object-oriented approaches in Python, JavaScript, and C#
- Summary
- Classes and Instances
- Understanding classes and instances
- Understanding constructors and destructors
- Declaring classes in Python
- Customizing constructors in Python
- Customizing destructors in Python
- Creating instances of classes in Python
- Declaring classes in C#
- Customizing constructors in C#
- Customizing destructors in C#
- Creating instances of classes in C#
- Understanding that functions are objects in JavaScript
- Working with constructor functions in JavaScript
- Creating instances in JavaScript
- Summary
- Encapsulation of Data
- Understanding the different members of a class
- Protecting and hiding data
- Working with properties
- Understanding the difference between mutability and immutability
- Encapsulating data in Python
- Encapsulating data in C#
- Encapsulating data in JavaScript
- Summary
- Inheritance and Specialization
- Using classes to abstract behavior
- Understanding inheritance
- Understanding method overloading and overriding
- Understanding operator overloading
- Taking advantage of polymorphism
- Working with simple inheritance in Python
- Working with simple inheritance in C#
- Working with the prototype-based inheritance in JavaScript
- Summary
- Interfaces, Multiple Inheritance, and Composition
- Understanding the requirement to work with multiple base classes
- Working with multiple inheritance in Python
- Interfaces and multiple inheritance in C#
- Working with composition in JavaScript
- Summary
- Duck Typing and Generics
- Understanding parametric polymorphism and duck typing
- Working with duck typing in Python
- Working with generics in C#
- Working with duck typing in JavaScript
- Summary
- Organization of Object-Oriented Code
- Thinking about the best ways to organize code
- Organizing object-oriented code in Python
- Organizing object-oriented code in C#
- Organizing object-oriented code in JavaScript
- Summary
- Taking Full Advantage of Object-Oriented Programming
- Putting together all the pieces of the object-oriented puzzle
- Refactoring existing code in Python
- Refactoring existing code in C#
- Refactoring existing code in JavaScript
- Summary
- Object-oriented JavaScript
- A bit of history
- ECMAScript 5
- Object-oriented programming
- Setting up your training environment
- Summary
- Primitive Data Types, Arrays, Loops, and Conditions
- Variables
- Operators
- Primitive data types
- Strings
- Booleans
- Logical operators
- Comparison
- Primitive data types recap
- Arrays
- Conditions and loops
- Code blocks
- Switch
- Loops
- Comments
- Summary
- Exercises
- Functions
- What is a function?
- Scope of variables
- Functions are data
- Closures
- Summary
- Exercises
- Objects
- From arrays to objects
- Built-in objects
- Summary
- Exercises
- Prototype
- The prototype property
- Using the prototype's methods and properties
- Augmenting built-in objects
- Summary
- Exercises
- Inheritance
- Prototype chaining
- Inheriting the prototype only
- Uber - access to the parent from a child object
- Isolating the inheritance part into a function
- Copying properties
- Heads-up when copying by reference
- Objects inherit from objects
- Deep copy
- object()
- Using a mix of prototypal inheritance and copying properties
- Multiple inheritance
- Parasitic inheritance
- Borrowing a constructor
- Summary
- Case study - drawing shapes
- Exercises
- The Browser Environment
- Including JavaScript in an HTML page
- BOM and DOM - an overview
- BOM
- DOM
- Events
- XMLHttpRequest
- Summary
- Exercises
- Coding and Design Patterns
- Coding patterns
- Design patterns
- Summary
- Reserved Words
- Keywords
- Future reserved words
- Previously reserved words
- Built-in Functions
- Built-in Objects
- Object
- Array
- Function
- Boolean
- Number
- String
- Date
- Math
- RegExp
- Error objects
- JSON
- Regular Expressions
- Biblography
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.