1. Home
  2. Courses
  3. Javascript
  4. Javascript-basics

Online Kurs omJavaScript Programming

Kurs i JavaScript programmering för både client-side och server-side

Fakta om kursen

Kursens namn
JavaScript Programming
Längd
3 dagar
Nivå
Beginner
Målgrupp
Programmerare
Förkunskaper
Kunnande i något program/script-språk
Verktyg
  • Node.js
  • JetBrains WebStorm || MS Visual Code
  • Chrome || Firefox || Edge

Online

Du sitter bekvämt hemma och deltar i kursen över internet. Läraren undervisar på svenska. Om du önskar du kursen på engelska, kontakta oss så skapar vi ett kursdatum för dig där kursen ges på engelska via Zoom.
Pris: 12,000 kr (€1,139)

Klassrum

Våra klassrum finns centralt i Stockholm. Läraren undervisar på svenska.
Pris: 19,000 kr

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle.

Företagsinternt

Du kan också beställa kursen som företagsintern. Då kommer vi till er och håller kursen i era lokaler. Alternativt så håller vi kursen online om ni så önskar. Ni väljer om ni vill ha kursen på svenska eller engelska. Skicka en kurs-förfrågan via knappen nedan.

Företagsintern Kurs

JavaScript (JS) är helt klart det primära programspråket för applikationsutveckling. Det finns flera bidragade faktorer, såsom att JS finns på både klient-sidan (webbläsaren) och server-sidan (Node.js). Men också att språket har evolverat till ett fullgott sådant under det senaste decenniumet.

I denna kurs fokuserar vi på de moderna aspekterna av JavaScript och hur du kan ta vara på den mångfald av alterantiv som finns. Du får också lära dig att använda transpilers som Babel och bundlers som Parcel, så att du kan programmer med moderna förtecken men ändå kunna exkevera webbapplikationer på äldre webbläsare.

Du får också lära dig att använda API:er i moderna webbläsare, såsom kunna använda kameran, ta bilder, ta reda på aktuell GEO position, veta när app:en är offline, kunna utföra AJAX anrop och mycket annat.

Detta får du lära dig på kursen

  • Hantera funktioner och lambda uttryck
  • Arbeta effektivt med arrayer
  • Kunna skapa och hantera object literaler
  • JSON serialisering
  • Arbeta med spread operator
  • Kunna array destructuring
  • Kunna object destructuring
  • Definiera klasser med fields och getters & setters
  • Använda BigInts
  • Förstå och kunna använda call-back (continuation) modellen
  • Kunna hantera promise object
  • Förstå begreppet promise chain
  • Kunna implementera async funktioner
  • Känna till vad en IIFE är
  • Förstå modul begreppet i Node.js
  • Förstå modul begreppet i ES6
  • Kunna använda NPM
  • Kunna använda CLI moduler med NPX
  • Använda Parcel bundler
  • Använda Babel transpiler
  • Använda Jasmine unit testing
  • Kunna manipulera DOM noder
  • Kunna hantera DOM events
  • Kunna genomföra AJAX anrop
  • Kunna kopiera till/från klippbordet
  • Kunna läsa av aktuell GEO position
  • Konfigurera notifiering om nätverks status
  • Kunna ta ett photo i en web app
  • Kunna hantera local/session storage
  • Känna till grunderna i Indexed DB

Kursinnehåll

Background & Overview

  • Language properties
  • EcmaScript
  • ES versions
  • Node.js
  • Browser compatibility

1 - LANGUAGE

Basic Syntax & Types

  • Program structure
  • Identifiers & variablers
  • Function scope vs. block scope
  • Scalar types
  • Operators
  • Statements

Functions

  • Functions statement & expression
  • Default parameters
  • Hoisting
  • Lambda expressions (aka fat arrows)

Arrays

  • Array literals
  • Insertions & removals
  • Iterations
  • Manipulations
  • Finder functions
  • Predicate taking functions
  • Sorting
  • Inflating arrays
  • Array streams

Objects

  • Object literal
  • Creating objects
  • Constructor function
  • Object properties
  • Prototype chain
  • The Object object
  • Packing and unpacking objects
  • Immutable objects
  • Cloning objects

JSON

  • JSON syntax and types
  • JSON serialization
  • JSON de-serialization
  • Serialization hooks

Spreading & Destructuring

  • The spread operator
  • Rest parameters
  • Simplified object construction
  • Array destructuring
  • Object destructuring
  • Destructuring in function parameters

Classes

  • Syntax
  • Static variables & functions
  • Getters & settters
  • Public & private fields
  • Subclasses

Library Types

  • Number range and integral values
  • Parsing text with numeric values
  • Formatting numbers
  • The Math object
  • Large integers (BigInt)
  • String creation functions
  • String selectors
  • Regex
  • Date
  • Parsing text with date values
  • Set & Map

2 - ASYNC

Call-backs

  • The JS execution model
  • JS event loop
  • Node.js call-backs
  • The continuation model
  • Postponed computation
  • Periodic computation

Promises

  • Limitations of the call-back model
  • What is a promise object?
  • Creating promises
  • Understanding resolve & reject
  • Promise chains
  • Waiting for many promises at once
  • Using .catch()
  • Call-back taking function to promise returning function

Async Functions

  • What is an async function?
  • Async & await
  • Async lambda
  • Invoking async functions in a loop

3 - MODULES

IIFE - Immediately Invoked Function Expressions

  • What is an IIFE?
  • The module idiom

Node.js Modules

  • Using require()
  • Built-in modules
  • User-defined modules
  • Module folder
  • Briefly about the internals of require()

NPM & NPX

  • What is NPM?
  • Installing a local package
  • Installing a remote package
  • Dependencies
  • Useful NPM commands
  • NVM - Node Version Manager
  • Globsl NPM modules
  • What is NPX?
  • Recommendations

ES6 Modules

  • What is ES modules?
  • Export forms
  • Import forms
  • Path forms
  • Using ES6 moduels in Node.js
  • Using ES6 moduels in a modern browser

Transpilers & Bundlers

  • What is a transpiler?
  • What is a pre-processor?
  • What is a post-processor?
  • What is a bundler?
  • Typical operations of a bundler
  • What is a build tool?
  • Gupl.js
  • Parcel
  • Usage of Parcel for development
  • Usage of Parcel for application build
  • Babel
  • Configuration of Babel
  • Translation examples of Babel

Unit Testing

  • Configuring Jasmine
  • Test groups
  • Test functions
  • Matchers
  • Life-cycle functions
  • Test selection

4 - BROWSER

Working with DOM

  • What is DOM?
  • Linking to JS files
  • Script attributes
  • Linking to CSS files
  • Link attributes
  • Finding DOM elements
  • Node contents
  • Manipulating CSS on DOM elements
  • Structurally modifying DOM
  • DOM element attributes

DOM Events

  • What is a DOM event?
  • Registering an event handler
  • Common event properties
  • Click events
  • Form events
  • Keyboard events
  • Key event properties
  • Mouse events
  • Browser events
  • Event propagation
  • User-defined events
  • Dispatching events

AJAX

  • What is AJAX?
  • The XMLHttpRequest API
  • A generic AJAX function
  • The Fetch API

The Browser API

  • What is BOM?
  • The window object
  • The location object
  • Implementing text selection
  • Handling the clipboard
  • Obtaining the current geo position
  • Obtaining network status and information
  • Capturing video and taking a photo
  • Brief about service workers

Browser Storage

  • Key:value storage API
  • Indexed DB concepts
  • Simple Indexed DB usage