summaryrefslogtreecommitdiffhomepage
path: root/nl-nl/coffeescript-nl.html.markdown
blob: bb46eb9b21d55e6dc1ca45ceb52928a1df5c1134 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
language: coffeescript
contributors:
  - ["Tenor Biel", "http://github.com/L8D"]
  - ["Xavier Yao", "http://github.com/xavieryao"]
translators:
  - ["Jelle Besseling", "https://github.com/Jell-E"]
  - ["D.A.W. de Waal", "http://github.com/diodewaal"]
filename: coffeescript-nl.coffee
lang: nl-nl
---

CoffeeScript is een kleine programmeertaal die direct compileert naar
JavaScript en er is geen interpretatie tijdens het uitvoeren.
CoffeeScript probeert om leesbare, goed geformatteerde en goed draaiende
JavaScript code te genereren, die in elke JavaScript runtime werkt, als een
opvolger van JavaScript.

Op [de CoffeeScript website](http://coffeescript.org/), staat een
volledigere tutorial voor CoffeeScript.

``` coffeescript
# CoffeeScript is een taal voor hipsters.
# Het gaat mee met alle trends van moderne talen.
# Commentaar begint dus met een hekje, net zoals bij Python en Ruby.

###
Blokken commentaar maak je zo, ze vertalen naar JavaScripts */ en /*
in de uitvoer van de CoffeeScript compiler.

Het is belangrijk dat je ongeveer snapt hoe JavaScript
werkt voordat je verder gaat.
###

# Toewijzing:
getal         = 42 #=> var getal = 42;
tegengestelde = true #=> var tegengestelde = true;

# Voorwaarden:
getal = -42 if tegengestelde #=> if(tegengestelde) { getal = -42; }

# Functies:
kwadraat = (x) -> x * x #=> var kwadraat = function(x) { return x * x; }

vul = (houder, vloeistof = "koffie") ->
  "Nu de #{houder} met #{vloeistof} aan het vullen..."
#=>var vul;
#
#vul = function(houder, vloeistof) {
#  if (vloeistof == null) {
#    vloeistof = "koffie";
#  }
#  return "Nu de " + houder + " met " + vloeistof + " aan het vullen...";
#};

# Reeksen:
lijst = [1..5] #=> var lijst = [1, 2, 3, 4, 5];

# Objecten:
wiskunde =
  wortel:   Math.sqrt
  kwadraat: kwadraat
  derdemacht:   (x) -> x * kwadraat x
#=> var wiskunde = {
#  "wortel": Math.sqrt,
#  "kwadraat": kwadraat,
#  "derdemacht": function(x) { return x * kwadraat(x); }
#}

# "Splats":
wedstrijd = (winnaar, lopers...) ->
  print winnaar, lopers
#=>wedstrijd = function() {
#  var lopers, winnaar;
#  winnaar = arguments[0], lopers = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
#  return print(winnaar, lopers);
#};

# Aanwezigheid:
alert "Ik wist het!" if elvis?
#=> if(typeof elvis !== "undefined" && elvis !== null) { alert("I knew it!"); }

# Lijst abstractie:
derdemachten = (wiskunde.derdemacht num for num in lijst)
#=>derdemachten = (function() {
#	var _i, _len, _results;
#	_results = [];
# 	for (_i = 0, _len = lijst.length; _i < _len; _i++) {
#		num = list[_i];
#		_results.push(wiskunde.derdemacht(num));
#	}
#	return _results;
#  })();

etenswaren = ['broccoli', 'spinazie', 'chocolade']
eet eten for eten in etenswaren when eten isnt 'chocolade'
#=>etenswaren = ['broccoli', 'spinazie', 'chocolade'];
#
#for (_k = 0, _len2 = etenswaren.length; _k < _len2; _k++) {
#  eten = etenswaren[_k];
#  if (eten !== 'chocolade') {
#    eet(eten);
#  }
#}
```

## Handige links (in het Engels):

- [Smooth CoffeeScript](http://autotelicum.github.io/Smooth-CoffeeScript/)
- [CoffeeScript Ristretto](https://leanpub.com/coffeescript-ristretto/read)