Writing a program is a lot like writing in English, there are certain rules to follow.
To describe what something is we use data. For example:
- A number
- True or false (ie: a boolean)
- Some texxt (ie: a string)
To tell the machine what to do with that data, we use operators. For example:
- Plus, minus, multiply or divide
- Logic (AND, OR)
- Functions
- Conditional statements
Now let's execute our first bit of code. Right-click this page and select Inspect, then select the Console tab. To run some code, copy it from below, paste it into the console and hit Enter:
console.log("Hello world")
In this example, the string Hello world
tell the computer about some text and console.log()
is a tells it to print the text.
Let's try some mathematical operators. Can you guess what this command will print?
console.log(2 + 5 * 10)
As you can see, the operators follow the BIDMAS principle that you probably learnt in school.
Test some more arithmatic and see if you can guess the results:
console.log(10 / 5)
console.log(2 ** 3)
console.log(8 - 3)
console.log(4 % 2)
Functions are a way to describe a re-usable list of intructions. For example, we have been using the console.log()
function to print lines of output to the conosle.
A function has several important parts:
- A name. This is like the name of a recipe, it tells you what the funciton does or produces
- Argument. These are the inputs of the function. In a recipe, these would be the ingradients.
- A return value. This is the output of the function. In a recpie, this would be the meal.
The return value is optional. Not all functions return something. For example, you may have noticed that if you run console.log("Hello world")
, you get two lines of output: Hello world
and undefined
.
Take this example:
function add(number1, number2) {
return number1 + number2
}
Can you tell which parts are which?
Use this website to do your exercises: https://playcode.io/973812
Write a function called greet()
that takes a name as an argument and then prints Nice to meet you, [name]
.
Answer
function greet(name) {
console.log('Nice to meet you, ' + name);
}
greet("Selin")
greet("Theo")
Modify the greet()
function so that it takes a list of names and greets everyone like this: Nice to meet you, [name1], [name2] and [name3]
.
Answer 1
function greet(people) {
const lastPerson = people.pop();
let text = "Nice to meet you"
for (person of people) {
text += ", " + person
}
text += " and " + lastPerson
console.log(text);
}
greet(["Selin", "Theo"])
Answer 2
function greet(people) {
// If there are no people, then there is no-one to greet
if (!people) {
console.log("Oh no, I'm alone!");
return;
}
let text = 'Nice to meet you';
// If there is only one person to greet, we don't need commas or 'and'
if (people.length == 1) {
text += ' ' + people.pop();
// If there are more than one person, then we need to add the word 'and' and/or commas
} else {
const lastPerson = people.pop();
for (person of people) {
text += ', ' + person;
}
text += ' and ' + lastPerson;
}
console.log(text);
}
greet();
greet(['Selin']);
greet(['Selin', 'Theo']);
greet(['Selin', 'Theo', 'Jimmy']);
greet(['Selin', 'Theo', 'Jimmy', 'Sarah']);