Fullmatad kurs från Ribomation om

Kurs i JavaScript

Praktisk kurs i modern JavaScript programmering för både client-side och server-side

Denna praktiskt inriktade kurs vänder sig till dig som snabbt behöver bli produktiv och förstå hur man programmerar i JavaScript på ett effektivt och säkert sätt.

Vi fokuserar på det goda sidorna av språket och pekar ut vilka fallgropar du bör undvika. Framför allt så demystifierar vi objekt begreppet i JavaScript, som dessvärre är helt väsensskillt från hur det fungerar i språk såsom Java.

Detta får du lära dig på kursen
  • Förstå hur objekt modellen (prototype) fungerar
  • Förstå hur funktionsuttryck (lambda) fungerar
  • Förstå hur språkets typsystem fungerar
  • Undvika vanliga fallgropar
  • Kunna använda ES6
  • Kunna förstå och programmera asynkrona program
  • Kunna skriva och exekvera enhetstest
Innehåll Expand All

Background and Overview

  • History
  • Brendan Eich
  • Why the name JavaScript, when it's not Java
  • What is ECMAscript and ES*
  • Upcoming releases
  • How to run JavaScript from the command line
  • How to run JavaScript in a browser
  • Installation of NodeJS and NPM

Basic Syntax

  • Program structure
  • Expressions and statements
  • Variables
  • Operators
  • Literals
  • Control structures
  • Syntactic pitfalls

Types

  • Boolean values
  • Falsy and truthy
  • Numbers
  • Text strings
  • Regex
  • Array
  • Objects
  • The typeof operator
  • Type conversion rules for operator ==
  • Why it is better to always use operator ===
  • Type conversion pitfalls

Functions

  • Function statement
  • Function invocation
  • Parameter passing
  • Recursive functions
  • Function reference
  • Function expression a.k.a. lambda/closure
  • Scope rules
  • Free variables
  • Immediately invoked function expression (IIFE)
  • The module pattern

Built-in Functions

  • String functions
  • Functions using regex
  • Date functions
  • Array functions
  • Streaming expressions using filter/map/reduce transformers

The JS Object Model

  • The prototype model
  • Class-like objects
  • Using new
  • Understanding this
  • Inheritance

JS in the Browser

  • Understanding DOM and BOM
  • DOM elements & attributes
  • Element lookup
  • Element manipulation
  • Window manipulation
  • Navigation

Brief about AJAX

  • Understanding HTTP
  • What is AJAX
  • What is REST
  • Using XMLHttpRequest
  • Brief about REST servers

ES6

  • Features
  • Browser support
  • Default parameters
  • Multi-assignment
  • Spread operator
  • Set & Map data-structures
  • Lambda expressions
  • Classes
  • Getters & Setters
  • Inheritance
  • Modules
  • Iterators
  • Generators
  • Co-routines

Asynchronous Execution

  • What is asynchronous execution
  • Using calls-backs
  • Understanding promises
  • Working with promise chains
  • Async functions using await in ES6
  • Handling errors with async/await

JavaScript Execution Model

  • JavaScript engines
  • Understanding the call-stack and stack-frames
  • Invocation of asynchronous function blocks
  • The event-loop
  • A model for understanding how JS executes
  • Using Loupe to visualize JS execution

JSON and YaML

  • Generating JSON
  • Parsing JSON
  • JSON as a data representation format
  • How YaML related to JSON
  • Parsing YaML and generating JSON

Unit testing

  • What is unit testing
  • Test runners, like Karma and Chutspah
  • Test specification libraries, like Jasmine and Mocha
  • Test assertion libraries, like Chai
  • Test frameworks, like QUnit

Introduction to NodeJS

  • What is NodeJS
  • Google V8 JS engine, EcmaScript, NodeJS
  • Sample NodeJS
  • NPM - the package manager
  • GulpJS - the build tool
  • Bower - the library manager
  • Yeoman - the skeleton and snippet manager

Transpiled languages

  • CoffeeScript
  • TypeScript
  • GrooScript
  • Using the Babel transpiler
SnabbFakta
Namn
JavaScript
Längd
3 dagar
Nivå
Beginner
Målgrupp
Programmerare som snabbt vill lära sig programmera JavaScript
Förkunskaper
Programmeringserfarenhet i något program/scrip-språk
Teknisk miljö
  • NodeJS
  • En text editor (såsom MS Visual Code) eller IDE (såsom WebStorm)
  • En modern webbläsare såsom Google Chrome eller Firefox
Schemalagd Kurs

Pris

19 000 kr + moms

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurstillfälle. Läs mer om vår samma-företags-rabatt.

Aktuella KursDatum
StartdatumPlats
Loading course dates...
Relaterade Kurser
KursLängdNivå
TypeScript2 dagar Intermediate
NodeJS2 dagarAdvanced
GulpJS for Web Apps2 dagar Intermediate
Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Prisexempel för NN deltagare

PPP + moms

Antal
Område

Läs mer om vår prismodell och beställningsvillkor.