Smart 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

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
Dela
Relaterade Kurser
KursLängd Nivå
TypeScript2 dagarIntermediate
NodeJS2 dagarAdvanced
GulpJS for Web Apps2 dagarIntermediate
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
2017-11-08Stockholm City
2017-12-18Stockholm City
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.