Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
JavaScript from Beginner to Professional
JavaScript from Beginner to Professional

JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages

Arrow left icon
Profile Icon Percival Profile Icon Laurence Svekis Profile Icon Maaike van Putten Profile Icon Codestars By Rob Percival
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (58 Ratings)
Paperback Dec 2021 546 pages 1st Edition
eBook
€8.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Percival Profile Icon Laurence Svekis Profile Icon Maaike van Putten Profile Icon Codestars By Rob Percival
Arrow right icon
€18.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (58 Ratings)
Paperback Dec 2021 546 pages 1st Edition
eBook
€8.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€8.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

JavaScript from Beginner to Professional

JavaScript Essentials

In this chapter, we will be dealing with some essential building blocks of JavaScript: variables and operators. We will start with variables, what they are, and which different variable data types exist. We need these basic building blocks to store and work with variable values in our scripts, making them dynamic.

Once we've got the variables covered, we will be ready to deal with operators. Arithmetic, assignment, and conditional and logical operators will be discussed at this stage. We need operators to modify our variables or to tell us something about these variables. This way we can do basic calculations based on factors such as user input.

Along the way, we'll cover the following topics:

  • Variables
  • Primitive data types
  • Analyzing and modifying data types
  • Operators

    Note: exercise, project, and self-check quiz answers can be found in the Appendix.

Variables

Variables are the first building block you will be introduced to when learning most languages. Variables are values in your code that can represent different values each time the code runs. Here is an example of two variables in a script:

firstname = "Maaike";
x = 2;

And they can be assigned a new value while the code is running:

firstname = "Edward";
x = 7;

Without variables, a piece of code would do the exact same thing every single time it was run. Even though that could still be helpful in some cases, it can be made much more powerful by working with variables to allow our code to do something different every time we run it.

Declaring variables

The first time you create a variable, you declare it. And you need a special word for that: let, var, or const. We'll discuss the use of these three arguments shortly. The second time you call a variable, you only use the name of the existing variable to assign it a new value...

Primitive data types

Now you know what variables are and why we need them in our code, it is time to look at the different types of values we can store in variables. Variables get a value assigned. And these values can be of different types. JavaScript is a loosely typed language. This means that JavaScript determines the type based on the value. The type does not need to be named explicitly. For example, if you declared a value of 5, JavaScript will automatically define it as a number type.

A distinction exists between primitive data types and other, more complex data types. In this chapter, we will cover the primitive type, which is a relatively simple data structure. Let's say for now that they just contain a value and have a type. JavaScript has seven primitives: String, Number, BigInt, Boolean, Symbol, undefined, and null. We'll discuss each of them in more detail below.

String

A string is used to store a text value. It is a sequence of characters. There...

Analyzing and modifying data types

We have seen the primitive data types. There are some built-in JavaScript methods that will help us deal with common problems related to primitives. Built-in methods are pieces of logic that can be used without having to write JavaScript logic yourself.

We've seen one built-in method already: console.log().

There are many of these built-in methods, and the ones you will be meeting in this chapter are just the first few you will encounter.

Working out the type of a variable

Especially with null and undefined, it can be hard to determine what kind of data type you are dealing with. Let's have a look at typeof. This returns the type of the variable. You can check the type of a variable by entering typeof, then either a space followed by the variable in question, or the variable in question in brackets:

testVariable = 1;
variableTypeTest1 = typeof testVariable;
variableTypeTest2 = typeof(testVariable);
console...

Operators

After seeing quite a few data types and some ways to convert them, it is time for the next major building block: operators. These come in handy whenever we want to work with the variables, modify them, perform calculations on them, and compare them. They are called operators because we use them to operate on our variables.

Arithmetic operators

Arithmetic operators can be used to perform operations with numbers. Most of these operations will feel very natural to you because they are the basic mathematics you will have come across earlier in life already.

Addition

Addition in JavaScript is very simple, we have seen it already. We use + for this operation:

let nr1 = 12;
let nr2 = 14;
let result1 = nr1 + nr2;

However, this operator can also come in very handy for concatenating strings. Note the added space after "Hello" to ensure the end result contains space characters:

let str1 = "Hello ";
let str2 = "addition";
let...

Chapter project

Miles-to-kilometers converter

Create a variable that contains a value in miles, convert it to kilometers, and log the value in kilometers in the following format:

The distance of 130 kms is equal to 209.2142 miles

For reference, 1 mile equals 1.60934 kilometers.

BMI calculator

Set values for height in inches and weight in pounds, then convert the values to centimeters and kilos, outputting the results to the console:

  • 1 inch is equal to 2.54 cm
  • 2.2046 pounds is equal to 1 kilo

Output the results. Then, calculate and log the BMI: this is equal to weight (in kilos) divided by squared height (in meters). Output the results to the console.

Self-check quiz

  1. What data type is the following variable?
    const c = "5";
    
  2. What data type is the following variable?
    const c = 91;
    
  3. Which one is generally better, line 1 or line 2?
    let empty1 = undefined; //line 1
    let empty2 = null; //line 2
    
  4. What is the console output for the following?
    let a = "Hello";
    a = "world";
    console.log(a);
    
  5. What will be logged to the console?
    let a = "world";
    let b = `Hello ${a}!`;
    console.log(b);
    
  6. What is the value of a?
    let a = "Hello";
    a = prompt("world");
    console.log(a);
    
  7. What is the value of b output to the console?
    let a = 5;
    let b = 70;
    let c = "5";
    b++;
    console.log(b);
    
  8. What is the value of result?
    let result = 3 + 4 * 2 / 8; 
    
  9. What is the value of total and total2?
    let firstNum = 5;
    let secondNum ...

Summary

In this chapter, we dealt with the first two programming building blocks: variables and operators. Variables are special fields that have a name and contain values. We declare a variable by using one of the special variable-defining words: let, var, or const. Variables enable us to make our scripts dynamic, store values, access them later, and change them later. We discussed some primitive data types, including strings, numbers, Booleans, and Symbols, as well as more abstract types such as undefined and null. You learned how to determine the type of a variable using the typeof word. And you saw how you can convert the data type by using the built-in JavaScript methods Number(), String(), and Boolean().

Then we moved on and discussed operators. Operators enable us to work with our variables. They can be used to perform calculations, compare variables, and more. The operators we discussed included arithmetic operators, assignment operators, comparison operators, and logical...

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Write eloquent JavaScript and employ fundamental and advanced features to create your own web apps
  • Interact with the browser with HTML and JavaScript, and add dynamic images, shapes, and text with HTML5 Canvas
  • Build a password checker, paint web app, hangman game, and many more fun projects

Description

This book demonstrates the capabilities of JavaScript for web application development by combining theoretical learning with code exercises and fun projects that you can challenge yourself with. The guiding principle of the book is to show how straightforward JavaScript techniques can be used to make web apps ranging from dynamic websites to simple browser-based games. JavaScript from Beginner to Professional focuses on key programming concepts and Document Object Model manipulations that are used to solve common problems in professional web applications. These include data validation, manipulating the appearance of web pages, working with asynchronous and concurrent code. The book uses project-based learning to provide context for the theoretical components in a series of code examples that can be used as modules of an application, such as input validators, games, and simple animations. This will be supplemented with a brief crash course on HTML and CSS to illustrate how JavaScript components fit into a complete web application. As you learn the concepts, you can try them in your own editor or browser console to get a solid understanding of how they work and what they do. By the end of this JavaScript book, you will feel confident writing core JavaScript code and be equipped to progress to more advanced libraries, frameworks, and environments such as React, Angular, and Node.js.

Who is this book for?

This book is for people who are new to JavaScript (JS) or those looking to build up their skills in web development. Basic familiarity with HTML & CSS would be beneficial. Whether you are a junior or intermediate developer who needs an easy-to-understand practical guide for JS concepts, a developer who wants to transition into working with JS, or a student studying programming concepts using JS, this book will prove helpful.

What you will learn

  • Use logic statements to make decisions within your code
  • Save time with JavaScript loops by avoiding writing the same code repeatedly
  • Use JavaScript functions and methods to selectively execute code
  • Connect to HTML5 elements and bring your own web pages to life with interactive content
  • Make your search patterns more effective with regular expressions
  • Explore concurrency and asynchronous programming to process events efficiently and improve performance
  • Get a head start on your next steps with primers on key libraries, frameworks, and APIs

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 15, 2021
Length: 546 pages
Edition : 1st
Language : English
ISBN-13 : 9781800562523
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Dec 15, 2021
Length: 546 pages
Edition : 1st
Language : English
ISBN-13 : 9781800562523
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 99.97
Responsive Web Design with HTML5 and CSS
€33.99
Learn Python Programming, 3rd edition
€35.99
JavaScript from Beginner to Professional
€29.99
Total 99.97 Stars icon
Banner background image

Table of Contents

17 Chapters
Getting Started with JavaScript Chevron down icon Chevron up icon
JavaScript Essentials Chevron down icon Chevron up icon
JavaScript Multiple Values Chevron down icon Chevron up icon
Logic Statements Chevron down icon Chevron up icon
Loops Chevron down icon Chevron up icon
Functions Chevron down icon Chevron up icon
Classes Chevron down icon Chevron up icon
Built-In JavaScript Methods Chevron down icon Chevron up icon
The Document Object Model Chevron down icon Chevron up icon
Dynamic Element Manipulation Using the DOM Chevron down icon Chevron up icon
Interactive Content and Event Listeners Chevron down icon Chevron up icon
Intermediate JavaScript Chevron down icon Chevron up icon
Concurrency Chevron down icon Chevron up icon
HTML5, Canvas, and JavaScript Chevron down icon Chevron up icon
Next Steps Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(58 Ratings)
5 star 74.1%
4 star 12.1%
3 star 10.3%
2 star 0%
1 star 3.4%
Filter icon Filter
Top Reviews

Filter reviews by




Ali Jan 20, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A great book and definitely recommended. Lots of interesting insights on JS and useful for beginners or some developers coming from other languages. I enjoy practical exercises as they are very well structured and introduce new concepts, leaving some room for devs to explore and experiment. Thank you for this great book!
Subscriber review Packt
S DE CLERK May 31, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I love this book.As a beginner I've been struggling to find good books on JS. Compared to languages like Python, there aren't many books around for beginners, and most recommended books are at least 5 years old. The most recommended one (starts with in "E"...) is super confusing and goes from easy to very hard to follow (for beginners) within the first 3 chapters. This book, however, is different.It's a true book for those new to Javascript and holds your hand, without insulting your intelligence, all the way. The in-chapter exercises are great for reinforcing learning, with end of chapter projects that are fun and practical and challenging in a way that doesn't make you want to rage quit and throw the book through your computer screen (like other books do). It provides detailed instructions on what is expected. The best part is that ALL the answers are at the back of the book for reference, so no frustrating googling or pulling answers from github.The code examples in the book are easy to follow, however sometimes it goes over two (or more) pages which can make it somewhat difficult to follow. This is a problem with most books though, and I wish they'd include line numbers to make it easier.The layout of the book makes it easy to reference and I find myself coming back to it to go over concepts and syntax again when building projects. Sure you can search online, but you can make notes in the book, which is why I love books and often find it more useful.In conclusion, if you're a noob, then you should DEFINITELY get this book. It's one of the most up-to-date books on the language (although for some reason they still use 'var' when 'let' and 'const' are deemed to be best practice these days, but it's not a deal-breaker since 'let' and 'const' best-practice is fairly recent and you'll encounter 'var' in the majority of code you'll come across.I love this book, and so will you.
Amazon Verified review Amazon
TomSF Dec 09, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have 7 JS books, this one is the best! very practical.
Amazon Verified review Amazon
Andre Thomas Dec 27, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This first edition is off to a great start. This gives those looking to learn JavaScript a major advantage when it comes to get up and running quickly. Tutorial videos are good but they lack in thoroughness. This book gives the detail one need to actually grasp the fundamentals so that you don’t just know that it works but you know WHY and HOW it works. This latter understanding sets you apart from the competition big time.I am really enjoying this read because it’s easy to understand and it’s filling the gaps in my understanding. So grateful for this book. A must read for sure.
Amazon Verified review Amazon
Si Dunn Feb 07, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I received a review copy of this book, and I am impressed with the quality and thoroughness of its contents. I don't work with JavaScript frequently these days, but when I do, I like to have a good JavaScript book close at hand so I can look up the things and quirks that I can't quite remember. To me, this is a good how-to book not only for learning JavaScript from scratch, but also for keeping skills refreshed, and learning some new aspects of JS when needed. This book's writing is clear, the examples and self-tests are good, and I particularly like the fact that answers to the practice tests are included at the back. I also like how beginners are shown how to work with HTML right away and to use their computer's console to view results. I do wish that Node.js and using node to run .JS files at the command line had been introduced sooner than near the end of the book. However, it hasn't hurt me at all to spend more time with the Chrome, Windows, and Firefox consoles while testing out many of this book's code examples. I recommend this book to others who are either learning JavaScript or needing a good how-to book to keep handy. My thanks to Packt for giving me this opportunity to review it.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.