• Menu
  • Pedagogy
    • Overview
    • Mastery-based Learning
  • Prep Courses
  • Salaries
  • Community
  • For Students
    • Is This For Me?
    • Common Questions
    • Launch School Love
    • Core Curriculum
    • Capstone
  • Love
  • Sign In
  • Sign Up

LaunchSchool: An online school for Software Engineers

  • Pedagogy
    • Overview
    • Mastery-based Learning
  • Prep Courses
  • Salaries
  • Community
  • For Students
    • Is This For Me?
    • Common Questions
    • Launch School Love
    • Core Curriculum
    • Capstone
  • Sign In
  • Sign Up

Table of Contents

  • Open Bookshelf Cover Page
  • Preface
    • Credits
    • Copyright
    • No Offline Access?
  • Getting Started
    • Introduction
      • Why JavaScript?
      • What is Object-Oriented Programming?
      • Who is this Book For?
  • Object-Oriented Programming
    • Types and Objects
      • Objects
      • Classes and Types
      • Creating Objects
      • Concise Method Syntax
      • The `this` Keyword
      • State and Behavior
      • Summary
      • Exercises
    • The Object Model
      • Encapsulation
      • Polymorphism
      • Inheritance
      • Summary
      • Exercises
    • Object Factories
      • What is an Object Factory?
      • Advantages and Disadvantages of Object Factories
      • When Should You Use Factory Functions?
      • Summary
      • Exercises
    • Classes
      • Defining Classes
      • Class Inheritance
      • When Should You Use ES6 Classes?
      • Summary
      • Exercises
    • More About Classes
      • Private Fields and Methods
      • Getters and Setters
      • Static Fields and Methods
      • Summary
      • Exercises
    • Prototypal Inheritance
      • Prototype Objects
      • The Prototype Chain
      • Constructor/Prototype Pattern
      • When Should You Use the Constructor/Prototype Pattern?
      • Summary
      • Exercises
  • Conclusion
    • What's Next
  • Share on
Back to Open Book Shelf
  • Open Bookshelf Cover Page
  • Preface
    • Credits
    • Copyright
    • No Offline Access?
  • Getting Started
    • Introduction
      • Why JavaScript?
      • What is Object-Oriented Programming?
      • Who is this Book For?
  • Object-Oriented Programming
    • Types and Objects
      • Objects
      • Classes and Types
      • Creating Objects
      • Concise Method Syntax
      • The `this` Keyword
      • State and Behavior
      • Summary
      • Exercises
    • The Object Model
      • Encapsulation
      • Polymorphism
      • Inheritance
      • Summary
      • Exercises
    • Object Factories
      • What is an Object Factory?
      • Advantages and Disadvantages of Object Factories
      • When Should You Use Factory Functions?
      • Summary
      • Exercises
    • Classes
      • Defining Classes
      • Class Inheritance
      • When Should You Use ES6 Classes?
      • Summary
      • Exercises
    • More About Classes
      • Private Fields and Methods
      • Getters and Setters
      • Static Fields and Methods
      • Summary
      • Exercises
    • Prototypal Inheritance
      • Prototype Objects
      • The Prototype Chain
      • Constructor/Prototype Pattern
      • When Should You Use the Constructor/Prototype Pattern?
      • Summary
      • Exercises
  • Conclusion
    • What's Next
  • Share on

Copyright

Copyright © 2025 Launch School
All rights reserved.

No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of Launch School.

Previous:  Credits
Next:  No Offline Access?
  • Medium Publication
  • Open Bookshelf
  • Podcast
  • Shop
  • hello@launchschool.com
© Copyright 2025 Launch School - All Rights Reserved.