Skip to content

JenniferFuBook/JavaScriptWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

JavaScript Web

As a veteran software engineer, I have architected and developed a number of software management systems using Java/JavaScript. I have been the interviewer and interviewee for many frontend developer positions. I published ACE Your Java Interview a few years ago, which is still a best-seller today.

My fellow developers ask me when I am going to publish an interview reference book for JavaScript. I have been working on it for a while. The content keeps changing along with the evolving ECMAScript standards, as well as emerging frameworks and libraries. It becomes a never-ending project.

For years, I have been nourished by a lot of open source materials. I have read many articles, and some of them become my favorites. Why don’t I link them in a centralized location to make a JavaScript Web for easy access? It is no longer a conventional book. It is composed by many people’s work, and it is a resource for frontend job interview and daily development work.

This provides a number of advantages:

  • It allows constantly adding and updating content.
  • It speeds up the writing process.
  • It gets on-going feedback.

Happy reading and practicing!

Types and Type Coercion

JavaScript has 2 data types: primitives and objects. There are 7 primitive data types: string, number, bigint, boolean, null, undefined, and symbol.

Type coercion is the process of converting value from one type to another. An object is converted to a primitive, which is then converted to the final type. Type coercion will transform a value to string, boolean, or number. Values can be converted explicitly, or implicitly by operations between different types or by the surrounding context.

The strict equality (===) doesn’t trigger type coercion, while the loose equality operator (==) does type coercion if needed, and then compares.

Functional Programming

Functional programming is a programming paradigm. It builds software by composing pure functions, avoiding shared state, mutable data, and side effects. Functional programming is declarative rather than imperative, and application state flows through pure functions.

Higher-order functions are functions that take other functions as arguments or return functions as their results. Functions are objects in JavaScript. It is treated as first-class citizens.

Currying is about decomposing a function taking multiple arguments into numerous functions with single arguments. It is named after Haskell Curry.

Microservices are not specific to JavaScript. However, conceptually, functional programming is an analogy for microservices: single purpose, loose coupling, and high cohesion. It is fun to read about this hot topic.

Regular Expressions

Regular expressions are patterns used to match character combinations in strings. It is extremely effective for searching, manipulating, and validating strings.

A Practical Guide to Regular Expressions is comprehensive with handson examples.

Lookbehind and Lookahead are the latest additions to the Regular expression family.

Online Regular Expression Tester and Debugger is a convenient tool to test out specific regular expressions.

Gists

Gists are a collection of code snippets for understanding the JavaScript concepts. It is also a resource to review before a frontend job interview.

Curry, mergeDeep

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy