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