Föreläsning 1: Värden, Typer, Variabler & Operatorer
ME152A
Värden & Typer
Föreläsning 1
• Grunden för programmering • Alla värden har en typ
Föreläsning 1
// Number 15 3.134 237 0.451
// String “JavaScript: The Good Parts" ‘Eloquent JavaScript’ “O’Hara’s red ale”
Typer
Föreläsning 1
• Automatisk konvertering mellan typer • dvs. JavaScript är ett dynamiskt språk
• typeof används för att ta reda på typen
Variabler
Föreläsning 1
• Används för att lagra ett värde, oberoende av typ • En variabel måste ha ett namn
• Får innehålla bokstäver, siffror, _ och $ • Får inte börja med en siffra • Skiftlägeskänslig (case-sensitive)
Variabler - forts.
Föreläsning 1
// Variabel vars värde är en sträng var name = "Sebastian";
// Variabel vars värde är en siffra var age = 26;
// Skiftlägeskänsliga, // alla dessa räknas som olika variabler var firstname = "Johannes"; var FirstName = "Johannes"; var FIRSTNAME = "Johannes";
Variabler - forts.
Föreläsning 1
• Dynamiska • Variablers värde kan:
• Ändras på begäran • Bytas från en typ till en annan • Vara resultatet av en uträkning
Variabler - forts.
Föreläsning 1
// Initiera variabeln "name" var name = "Sebastian"; // Ändra värdet name = "Johannes"; // Ändra typen, samt värdet name = 256;
// Resultatet av en uträkning var width = 10; var height = 25; var area = width * height;
Operatorer
Föreläsning 1
• Aritmetiska: +, -, /, * • Typ: typeof • Tilldelningsoperator: =
Operatorer - jämförelse.
Föreläsning 1
• Lika med: == • Inte lika med: != • Mer än: > • Mindre än: < • Mer än eller lika med: >= • Mindre än eller lika med: <=
Operatorer - logiska.
Föreläsning 1
• Och: && • Eller: || • Inte: !
Operatorer - forts.
Föreläsning 1
// Givet dessa variabler: var name = "Anders"; var age = 25;
// Blir det true eller false? (age > 20 && age < 30) && name != ””
Föreläsning 1
// En variabel utan ett värde: var name; // Är av typen "undefined" typeof name; // "undefined"
// Jämförelser med “falska” värden "" == false // true 0 == false // true
Typer - forts.
Föreläsning 1
Strängar
Urval av metoder: • length • toUpperCase • toLowerCase
// Längden, dvs. antal karaktärer "Sherlock".length; // 8
var name = "Sherlock"; name.length; // 8
// Konvertera till gemener och versaler name.toLowerCase(); // "sherlock" name.toUpperCase(); // "SHERLOCK"
Föreläsning 1
Datastruktur
Ett effektivt sätt att organisera data
JavaScript har (bl.a.): Array (vektor)
• Består av en samling värden (element) • Värden av olika typer är tillåtet
Föreläsning 1
Datastruktur - forts.
• En vektor har ett “index”: • Varje elements position representeras av en siffra • Första positionen är 0
var names = ["Bo", "Johannes", "Sebastian"];
0 1 2
Föreläsning 1
Vektor
var names = ["Bo", "Johannes", "Sebastian"];
// För att hämta ett värde anger vi en // position (index) mellan [...] names[0]; // "Bo" names[2]; // "Sebastian"
Föreläsning 1
Vektor - forts.
// En vektor omsluts av [...], // varje värde separeras med ett komma var sports = ["Soccer", "Tennis", "Golf"];
// Värden av olika typer är tillåtet var person = ["Anders", "Svensson", 28, true];
// Variabler kan användas som element var firstname = "Anders"; var lastname = "Svensson"; var person = [firstname, lastname];
Föreläsning 1
Vektor - forts.
var names = ["Bo", "Per", "Max"];
// Ändra värdet på elementet med position 1 names[1] = "Johannes"; names; // ["Bo", "Johannes", "Max"];
// Ta reda på antalet element i en vektor names.length; // 3
Föreläsning 1
Vektor - forts.
// Skapa en tom vektor var names = [];
// Lägg till element i slutet av vektorn names.push("Bo"); names.push("Max"); names; // ["Bo", "Max"]
// Radera det sista elementet names.pop(); names; // ["Bo"]
// Variabler kan givetvis användas var name = "Sebastian"; names.push(name); names; // ["Bo", "Sebastian"];
Föreläsning 1
Strängar - forts.
Strängar kan anses vara en vektor av karaktärer
var fullname = "Sherlock Holmes";
fullname[0]; // "S" fullname[9]; // "H"
Föreläsning 1
Summering
• Värden & Typer • Variabler • Operatorer • Vektor (en datastruktur)