Introduction to Professional Web Development in JavaScript

Chapters

  1. 1. Introduction
    1. 1.1. Why Learn To Code?
    2. 1.2. Why Learn JavaScript?
    3. 1.3. About LaunchCode Programs
    4. 1.4. Class Platforms
    5. 1.5. Using This Book
  2. 2. How Programs Work
    1. 2.1. Introduction
    2. 2.2. Programming Languages
    3. 2.3. The JavaScript Language
    4. 2.4. Your First Program
  3. 3. How To Write Code
    1. 3.1. What is Code?
    2. 3.2. Syntax Rules
    3. 3.3. Comments
    4. 3.4. Output With console.log
    5. 3.5. Welcome, Novice Coder
  4. 4. Data and Variables
    1. 4.1. Values and Data Types
    2. 4.2. Type Conversion
    3. 4.3. Variables
    4. 4.4. More On Variables
    5. 4.5. Expressions and Evaluation
    6. 4.6. Operations
    7. 4.7. Other Operators
    8. 4.8. Input with readline-sync
    9. 4.9. Exercises: Data and Variables
    10. 4.10. Studio: Data and Variables
  5. 5. Making Decisions With Conditionals
    1. 5.1. Booleans
    2. 5.2. Equality
    3. 5.3. Logical Operators
    4. 5.4. Conditionals
    5. 5.5. Nested Conditionals
    6. 5.6. Exercises: Booleans and Conditionals
    7. 5.7. Studio: Goal Setting and Getting into the Right Mindset
  6. 6. Errors and Debugging
    1. 6.1. What is Debugging?
    2. 6.2. Categories of Errors
    3. 6.3. Diagnosing Error Messages
    4. 6.4. Error Types
    5. 6.5. Debugging Logic Errors
    6. 6.6. How to Avoid Debugging
    7. 6.7. Asking Good Questions
    8. 6.8. Exercises: Debugging
  7. 7. Stringing Characters Together
    1. 7.1. Strings as Collections
    2. 7.2. Bracket Notation
    3. 7.3. Strings as Objects
    4. 7.4. String Immutability
    5. 7.5. String Methods
    6. 7.6. Encoding Characters
    7. 7.7. Special Characters
    8. 7.8. Template Literals
    9. 7.9. Exercises: Strings
  8. 8. Arrays Keep Things in Order
    1. 8.1. Arrays Are Like Strings
    2. 8.2. Working With Arrays
    3. 8.3. Array Methods
    4. 8.4. Multi-Dimensional Arrays
    5. 8.5. Exercises: Arrays
    6. 8.6. Studio: Strings and Arrays
  9. 9. Repeating With Loops
    1. 9.1. Iteration
    2. 9.2. for Loops
    3. 9.3. Iterating Over Collections
    4. 9.4. Breaking Down the for Statement
    5. 9.5. The Accumulator Pattern
    6. 9.6. while Loops
    7. 9.7. Terminating a Loop With break
    8. 9.8. Choosing Which Loop to Use
    9. 9.9. Exercises: Loops
    10. 9.10. Studio: Loops
  10. 10. Functions Are at Your Beck and Call
    1. 10.1. Introduction
    2. 10.2. Using Functions
    3. 10.3. Creating Functions
    4. 10.4. Function Input and Output
    5. 10.5. A Good Function-Writing Process
    6. 10.6. Parameters and Variables
    7. 10.7. Naming Functions
    8. 10.8. Composing Functions
    9. 10.9. Why Create Functions?
    10. 10.10. Exercises: Functions
    11. 10.11. Studio: Functions
  11. 11. More on Functions
    1. 11.1. Functions as Values
    2. 11.2. Anonymous Functions
    3. 11.3. Passing Functions as Arguments
    4. 11.4. Receiving Function Arguments
    5. 11.5. Why Use Anonymous Functions?
    6. 11.6. Recursion
    7. 11.7. Recursion Walkthrough: The Base Case
    8. 11.8. Making A Function Call Itself
    9. 11.9. Recursion Wrap-Up
    10. 11.10. Exercises: More Functions
    11. 11.11. Studio: More Functions
  12. 12. Objects and the Math Object
    1. 12.1. Objects and Why They Matter
    2. 12.2. Working with Objects
    3. 12.3. Coding With Objects
    4. 12.4. The Math Object
    5. 12.5. Math Methods
    6. 12.6. Combining Math Methods
    7. 12.7. Exercises: Objects & Math
    8. 12.8. Studio: Objects & Math
  13. 13. Modules
    1. 13.1. What are Modules?
    2. 13.2. Require Modules
    3. 13.3. NPM
    4. 13.4. Exporting Modules
    5. 13.5. Wrap-up
    6. 13.6. Exercises: Modules
    7. 13.7. Studio: Combating Imposter Syndrome
  14. 14. Unit Testing
    1. 14.1. Why Test Your Code?
    2. 14.2. Hello, Jasmine!
    3. 14.3. Unit Testing in Action
    4. 14.4. Test-Driven Development
    5. 14.5. TDD in Action
    6. 14.6. Exercises: Unit Testing
    7. 14.7. Studio: Unit Testing
  15. 15. Scope
    1. 15.1. Introduction
    2. 15.2. Using Scope
  16. 16. More on Types
    1. 16.1. Primitive Data Types
  17. 17. Exceptions
    1. 17.1. Introduction
    2. 17.2. Throw
    3. 17.3. Exceptions as Control Flow
    4. 17.4. Exercises
    5. 17.5. Studio: Strategic Debugging
  18. 18. Classes
    1. 18.1. What Are Classes?
    2. 18.2. Declaring and Calling a Class
    3. 18.3. Assigning Class Methods
    4. 18.4. Inheritance
    5. 18.5. Exercises: Classes
    6. 18.6. Studio: Classes
  19. 19. Terminal
    1. 19.1. What is a terminal?
    2. 19.2. Filesystem and Paths
    3. 19.3. How to Do Stuff in the Terminal
    4. 19.4. Running Programs in the Terminal
    5. 19.5. Exercises: Terminal
  20. 20. We Built the Internet on HTML
    1. 20.1. Background
    2. 20.2. HTML Structure
    3. 20.3. HTML Tags
    4. 20.4. Exercises: HTML
    5. 20.5. Studio: Making Headlines
  21. 21. Styling the Web With CSS
    1. 21.1. What is CSS?
    2. 21.2. CSS Structure
    3. 21.3. CSS Rules
    4. 21.4. Exercises: CSS
  22. 22. Git More Collaboration
    1. 22.1. What is Git?
    2. 22.2. Repositories and Commits
    3. 22.3. Remote Repositories
    4. 22.4. Branches
    5. 22.5. Merging in Git
    6. 22.6. Exercises: Git
    7. 22.7. Studio: Communication Log
  23. 23. The DOM and Events
    1. 23.1. JavaScript and the Browser
    2. 23.2. The DOM
    3. 23.3. More DOM Methods and Properties
    4. 23.4. Events
    5. 23.5. Event Listeners
    6. 23.6. Event Types
    7. 23.7. Exercises: The DOM and Events
    8. 23.8. Studio: The DOM and Events
  24. 24. HTTP: The Postal Service of the Internet
    1. 24.1. How the Internet Works
    2. 24.2. HTTP at a Glance
    3. 24.3. Requests
    4. 24.4. Responses
    5. 24.5. HTTP in the Browser
  25. 25. User Input with Forms
    1. 25.1. Forms
    2. 25.2. Form Submission
    3. 25.3. POST Form Submission
    4. 25.4. Text Inputs
    5. 25.5. Specialized Text Inputs
    6. 25.6. Checkbox Input
    7. 25.7. Radio Input
    8. 25.8. Select Input
    9. 25.9. Validation with JavaScript
    10. 25.10. Exercises: Forms
    11. 25.11. Studio: HTTP and Forms
  26. 26. Fetch & JSON
    1. 26.1. Introduction
    2. 26.2. Data Formats and JSON
    3. 26.3. Fetching Data
    4. 26.4. Asynchronous and Promises
    5. 26.5. Exercises
    6. 26.6. Studio: Fetch & JSON
  27. 27. TypeScript
    1. 27.1. Why TypeScript?
    2. 27.2. Declaring and Using Variables
    3. 27.3. Arrays in TypeScript
    4. 27.4. Functions in TypeScript
    5. 27.5. Classes and Interfaces in TypeScript
    6. 27.6. Compiling TypeScript
    7. 27.7. Exercises: TypeScript
    8. 27.8. Studio: TypeScript
  28. 28. Angular, Part 1
    1. 28.1. Why Use JavaScript Libraries
    2. 28.2. Templates
    3. 28.3. Angular File Structure
    4. 28.4. Angular First Steps
    5. 28.5. The Angular Framework
    6. 28.6. Components
    7. 28.7. Exercises: Angular, Lesson 1
    8. 28.8. Studio: Angular, Part 1
  29. 29. Angular, Part 2
    1. 29.1. Angular Directives
    2. 29.2. ngFor
    3. 29.3. ngIf
    4. 29.4. Events
    5. 29.5. Responding to User Input
    6. 29.6. Events Can Call Functions
    7. 29.7. Exercises: Angular, Lesson 2
    8. 29.8. Studio: Angular, Part 2
  30. 30. Angular, Part 3
    1. 30.1. Data Binding
    2. 30.2. One-Way Data Binding
    3. 30.3. Attribute Directives
    4. 30.4. Dynamic Style Changes
    5. 30.5. Angular Wrap-Up
    6. 30.6. Exercises: Angular, Part 3
    7. 30.7. Studio: Angular, Part 3
  31. 31. Booster Rockets
    1. 31.1. Best Practices: Learning To Code