Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

S'initier à coffeescript

4 réponses
Avatar
Une Bévue
je souhaiterais m'initier à CoffeeScript disons pour faire un essai
CoffeeScript / AngularJS.

avez-vous des URLs à ce sujet ?

j'ai essayé Smooth CoffeeScript mias bon, c'est pas pour un débutant et
ya trop d'erreurs.

4 réponses

Avatar
pbiopy
On Sun, 05 Jan 2014 07:04:45 +0100, Une
Bévue wrote:
je souhaiterais m'initier à CoffeeScript disons pour faire un essai
CoffeeScript / AngularJS.


avez-vous des URLs à ce sujet ?



http://coffeescriptcookbook.com
http://www.coffeescriptlove.com

--
pbouige
Avatar
Une Bévue
Le 07/01/14 13:30, pbiopy a écrit :
On Sun, 05 Jan 2014 07:04:45 +0100, Une
Bévue wrote:
je souhaiterais m'initier à CoffeeScript disons pour faire un essai
CoffeeScript / AngularJS.




avez-vous des URLs à ce sujet ?



http://coffeescriptcookbook.com
http://www.coffeescriptlove.com




OK, merci beaucoup.

j'ai déja réalisé un petit test.

me reste à comprendre le JS généré, par exemple :

CS :

@websocket.onopen = (evt) =>
console.log "WebSocket connection open."
json=JSON.stringify queryCategories
console.log "Sending: "+json
@websocket.send json
@connected=true
@state='open'
$scope.$apply()


devient en JS :
this.websocket.onopen = (function(_this) {
return function(evt) {
var json;
console.log("WebSocket connection open.");
json = JSON.stringify(queryCategories);
console.log("Sending: " + json);
_this.websocket.send(json);
_this.connected = true;
_this.state = 'open';
return $scope.$apply();
};
})(this);

si l'on met à part la compréhension de underscore (ici _this, je suppose)

où trouver des infos pour la compréhension de cette structure JS :

(function(){...})(this);

et bien sûr aussi underscore...

pour l'instant j'utilise CS avec AngularJS mais bon, comme mon
utilisation d'Angular n'est pas très intense, j'aimerais m'en passer.

d'angular j'utilise ngRepeat, ngModel et le two-way binding.

ça doit pouvoir s'implémenter en CS non ?
Avatar
SAM
Le 09/01/14 09:02, Une Bévue a écrit :

devient en JS :
this.websocket.onopen = (function(_this) {



_this ... c'est parce qu'ils ne savent pas dire "cela"
sert à dire 'ceci'(this) mais pas le 'this' réservé par le JS
non ?


return function(evt) {
var json;
console.log("WebSocket connection open.");
json = JSON.stringify(queryCategories);
console.log("Sending: " + json);
_this.websocket.send(json);
_this.connected = true;
_this.state = 'open';
return $scope.$apply();
};
})(this);

si l'on met à part la compréhension de underscore (ici _this, je suppose)

où trouver des infos pour la compréhension de cette structure JS :

(function(){...})(this);



je crois que ça sert à déclarer la fonction et à l'appliquer (la lancer
tout de suite, l'auto exécuter)
cette fois-ci appliquée au 'this' du JavaScript


blabla = (function (_truc) { ... } )()

*this*.blabla = (function (_truc) { ... } )(*this*)

Voir, par exemple : "Renvoi de fonction" ici
<http://braincracking.org/2011/11/17/usage-avance-des-fonctions-javascript/>


Cordialement,
--
Stéphane Moriaux avec/with iMac-intel 27" & Mac OS X 10.6.8
Avatar
Une Bévue
Le 09/01/14 12:35, SAM a écrit :

devient en JS :
this.websocket.onopen = (function(_this) {



_this ... c'est parce qu'ils ne savent pas dire "cela"
sert à dire 'ceci'(this) mais pas le 'this' réservé par le JS
non ?



oui, ce n'est pas le this réservé au js.

c'est la "compil" CoffeScript -> JavaScript qui m'a donné ça.

d'ailleurs c'est un conseil qui m'a été donné, là où j'avais mis :

self=this;

pour pouvoir utilser self dans une fonction anonyme, de mémoire :

self=this;
this.ws=new WebSocket(params);
this.ws.onopen=function(event){
...
self.machin=bidule;
...
}

return function(evt) {
var json;
console.log("WebSocket connection open.");
json = JSON.stringify(queryCategories);
console.log("Sending: " + json);
_this.websocket.send(json);
_this.connected = true;
_this.state = 'open';
return $scope.$apply();
};
})(this);

si l'on met à part la compréhension de underscore (ici _this, je suppose)

où trouver des infos pour la compréhension de cette structure JS :

(function(){...})(this);



je crois que ça sert à déclarer la fonction et à l'appliquer (la lancer
tout de suite, l'auto exécuter)
cette fois-ci appliquée au 'this' du JavaScript


blabla = (function (_truc) { ... } )()

*this*.blabla = (function (_truc) { ... } )(*this*)

Voir, par exemple : "Renvoi de fonction" ici
<http://braincracking.org/2011/11/17/usage-avance-des-fonctions-javascript/>


oui, ce n'est pas vraiment "expliqué" mais il y est affirmé que la forme :
(function(){...})();

s'auto-éxécute de suite.

et en fait :

(function(){...})(this);

c'est la même forme mais on file this en paramètre de la fonction.

(l'exemple est donné avec i sur le site)