JavaScript lesson 5: input(), Number() and joining text
US version. US grades and US spelling. · UK version of this lesson
On Classfern, input() reads one line the user types. It ALWAYS gives text, even when the user types digits. A complete 40-minute JavaScript lesson for beginners (Grades 7–8), from Unit 2: Variables and numbers. It runs right here in your browser – nothing to install.
- Time
- 40 minutes + 20 min homework
- Grade
- Grades 7–8 (ages 12–13)
- You need
- A computer or tablet, paper and a pencil
- Graded
- Instantly, with explanations
For parents: how to use this lesson
You don't need to know JavaScript yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser – graded straight away.
- Read what your child will learn together.
- Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
- Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
- Finish with the talk question: Why do you think input() always gives text?
Watch out for
input()gives a number when you type digits. Tryinput() + 1with 5 typed: it prints 51.Number("cat")is 0. It is NaN – "not a number".
Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.
What your child will learn
Learning goal: read what the user types with input().
Success looks like
- I can read what the user types with
input(). - I can turn text into a number with
Number(). - I can predict what
+does with typed numbers.
Key words
input · Number() · String() · NaN · convert
What to have ready
- A device with a web browser (the code runs in the browser – nothing to install)
- Paper for tracing
- A keyboard helps for typing code (a tablet or phone works too)
The big ideas (for the adult)
On Classfern, input() reads one line the user types. It ALWAYS gives text, even when the user types digits.
So if the user types 4 and 5, input() + input() is "45". Number(input()) turns the text into a number first, so + adds.
Number("cat") gives NaN, which means "not a number". String(5) turns a number into text. Only + joins: -, * and / turn text into numbers by themselves.
Worked example – see it
const a = Number(input()) const b = Number(input()) console.log(a + b)
It prints:
9
The lesson, step by step
| Part | Time | How it is checked |
|---|---|---|
| Starter | 5 min | Graded by Classfern |
| Teaching input | 8 min | Read, watch and talk |
| See it, then predict | 8 min | Graded by Classfern |
| Put it in order, write it, fix it | 14 min | Graded by Classfern |
| Closure and exit ticket | 5 min | Graded by Classfern + self-check |
The lesson
It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.
Homework
20 minutes: 7 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.
Practice tests
Curriculum
CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-11 – Create clearly named variables of different data types and operate on them.
The standard codes are CSTA's; the descriptions are our own words.
Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. JavaScript is a trademark or registered trademark of Oracle Corporation in the U.S. and other countries; Classfern is not affiliated with or endorsed by it.