Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
582 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Les points-virgules

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript] Les points-virgules

n°1085359
cnstrnd
Posté le 16-05-2005 à 13:47:54  profilanswer
 

Je viens d'apprendre que les ; ne sont pas nécessaires en Javascript [Javascript, The definitive Guide 4th edition]. Pourquoi alors m'embêterais-je a en coller derrière toutes mes expressions ? Pourquoi tout le monde laissent des ; unutiles un peu partout ? Pourquoi serait-ce une mauvaise habitude ?
 
Merci

mood
Publicité
Posté le 16-05-2005 à 13:47:54  profilanswer
 

n°1085367
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 14:05:59  profilanswer
 

Je ne pense pas que "Les ; ne sont pas nécessaires en javascript" soit la phrase exacte (je n'ai jamais lu le bouquin, mais bon), tout simplement parce qu'elle est fausse.
 
Un retour à la ligne peut remplacer un ";", c'est possible, mais dangereux tant en lecture qu'en optimisation, c'est peu clair, et c'est de toute façon peu intéressant en gain (on gagne 1 octet par ligne maximum, super)


Message édité par masklinn le 16-05-2005 à 14:08:07

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1085377
jagstang
Pa Capona ಠ_ಠ
Posté le 16-05-2005 à 14:12:53  profilanswer
 

t'appelle ça un gain ?

n°1085386
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 14:22:14  profilanswer
 

jagstang a écrit :

t'appelle ça un gain ?


Si tu n'optimises pas tes fichiers CSS, tu gagnes un peu moint d'un octet/ligne [:spamafote]  
 
Ca reste un gain, aussi minable qu'il soit (pour une perte de lisibilité équivalente à l'optimisation/compression et un gain largement inférieur [:aloy] )


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1085390
cnstrnd
Posté le 16-05-2005 à 14:23:32  profilanswer
 

Citation :

2.4 Optional Semicolons
 
Simple statements in JavaScript are generally followed by semicolons (;), just as they are in C, C++, and Java. The semicolon serves to separate statements from each other. In JavaScript, however, you may omit the semicolon if each of your statements is placed on a separate line. For example, the following code could be written without semicolons:  

a = 3;
 
b = 4;


But when formatted as follows, the first semicolon is required:  

a = 3; b = 4;


Omitting semicolons is not a good programming practice; you should get in the habit of using them.


 
Il ne s'agit pas gain ou d'optimisation mais plutôt de consistance.
Je ne comprends pas non plus l'argument de la lisibilité : en ruby, personne n'irait mettre des ; là où ils sont inutiles.
Quel intérêt j'ai à singer la syntaxe de Java en JavaScript ... Ca me dépasse.


Message édité par cnstrnd le 16-05-2005 à 14:24:56
n°1085402
Elmoricq
Modérateur
Posté le 16-05-2005 à 14:31:03  profilanswer
 

Citation :

Omitting semicolons is not a good programming practice; you should get in the habit of using them.


 
 
En somme, ce qui est optionnel c'est de ne pas écrire de point-virgule.  
Disons que c'est accepté, mais non conseillé.
 
En ce cas, on ne peut pas dire que mettre des points-virgules en javascript soit inutile.

n°1085412
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 14:37:30  profilanswer
 

cnstrnd a écrit :


Il ne s'agit pas gain ou d'optimisation mais plutôt de consistance.
Je ne comprends pas non plus l'argument de la lisibilité : en ruby, personne n'irait mettre des ; là où ils sont inutiles.
Quel intérêt j'ai à singer la syntaxe de Java en JavaScript ... Ca me dépasse.


La consistance en Javascript c'est qu'on doit mettre des ";"
Ce n'est pas "singer la syntaxe du java", la syntaxe JS est tirée de celle du C, et en C... on met des semicolons [:itm]  
Le ruby n'a rien à voir avec le JS, je ne vois pas ce qu'il vient foutre là (sinon je peux aussi dire qu'en Python il ne viendrait à personne l'idée de mettre un semicolon à la fin d'une ligne [:itm] )
Ne pas mettre de semicolons en JS est dangereux, surtout quand on utilise des optimisers.
 
 
Ici, le fait de n'être pas obligé de mettre le semicolon dans certains cas est issu de la (trop) grande permitivité du Javascript, c'est tout, et c'est le comportement illogique. Pas l'inverse.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1085436
cnstrnd
Posté le 16-05-2005 à 14:49:29  profilanswer
 

Mais pourquoi alors

function Foo()
{
  return
  true;
}

est équivalent à

function Foo()
{
  return[b];[/b] // <- !!!
  true;
}

si les semicolons sont si importants.
 
Je voudrais pas jouer l'avocat du diable mais de ce que je lis, les points-virgules ne servent QU'A séparer des expressions sur la même ligne.
 
Bizarre.

n°1085442
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 14:52:40  profilanswer
 

cnstrnd a écrit :

Mais pourquoi alors

function Foo()
{
  return
  true;
}

est équivalent à

function Foo()
{
  return[b];[/b] // <- !!!
  true;
}

si les semicolons sont si importants.
 
Je voudrais pas jouer l'avocat du diable mais de ce que je lis, les points-virgules ne servent QU'A séparer des expressions sur la même ligne.
 
Bizarre.


 :pfff:  

Citation :

le fait de n'être pas obligé de mettre le semicolon dans certains cas est issu de la (trop) grande permitivité du Javascript, c'est tout, et c'est le comportement illogique. Pas l'inverse.


 
Maintenant si t'es pas content, tu vas lire la norme du Javascript, ils y parlent de "automatic semicolon insertion", si tu n'es pas capable d'en tirer les concéquences qui s'imposent je ne peux rien pour toi


Message édité par masklinn le 16-05-2005 à 14:54:29

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1085466
cnstrnd
Posté le 16-05-2005 à 15:12:25  profilanswer
 

Merci pour la bonne habitude de m'envoyer me faire compulser la norme. :D

mood
Publicité
Posté le 16-05-2005 à 15:12:25  profilanswer
 

n°1085694
Hermes le ​Messager
Breton Quiétiste
Posté le 16-05-2005 à 16:35:59  profilanswer
 

masklinn a écrit :


 
 
Ici, le fait de n'être pas obligé de mettre le semicolon dans certains cas est issu de la (trop) grande permitivité du Javascript, c'est tout, et c'est le comportement illogique. Pas l'inverse.


 
+1
 
 :o  


---------------
Expert en expertises
n°1086415
cerel
Posté le 17-05-2005 à 11:28:05  profilanswer
 

Il y a pas quelqu'un qui aurait un petit scritp perl a lui montrer (un de ceux bien "obfusques" ) ?
Ca illustrerai les derives auquelles on peut arriver avec un langage trop permissif :P

n°1086419
masklinn
í dag viðrar vel til loftárása
Posté le 17-05-2005 à 11:31:39  profilanswer
 

cerel a écrit :

Il y a pas quelqu'un qui aurait un petit scritp perl a lui montrer (un de ceux bien "obfusques" ) ?
Ca illustrerai les derives auquelles on peut arriver avec un langage trop permissif :P


Bof, autant coller directement du brainfuck :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Les points-virgules

 

Sujets relatifs
[ ASP / JavaScript ? ] Manipulation chaîne de caractèresExplication d'un bout de code Javascript
[javascript] différence entre IE et FireFox[javascript] probleme onmouseover avec frame
Probleme javascript avec safarimenu déroulant css/javascript qui foire sur IE
[javascript] onmouseoverjavascript scroll compatibilté avec mozilla/nescape
Javascript - propriété d'une fenetrecohabitation javascript / php
Plus de sujets relatifs à : [Javascript] Les points-virgules


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR