Quelle est la meilleure pratique pour la continuation de ligne dans JavaScript? Je sais que vous pouvez utiliser \
pour les chaînes. Mais comment diviseriez-vous le code suivant?
var statement = con.createStatement("select * from t where
(t.a1 = 0 and t.a2 >=-1)
order by a3 desc limit 1");
Si j'ai bien compris votre question:
var statement = con.createStatement('select * from t where '
+ '(t.a1 = 0 and t.a2 >=-1) '
+ 'order by a3 desc limit 1');
Pour plus de lisibilité, il est bon d'aligner +
opérateur sur chaque ligne: Quoi qu'il en soit, sauf si vous utilisez Ecmascript 2015 , évitez de fractionner une chaîne multiligne avec \
, car:
J'aime utiliser des barres obliques inverses pour la continuation de la ligne JavaScript, comme ceci:
// validation
$(".adjustment, .info input, .includesAndTiming input, \
.independentAdj, .generalAdj, .executiveAdj \
#officeExpense, #longDistanceExpense, #digitalImages, #milesReimbursment, #driveTime, #statementTranscription").keypress(function (event) {
Ma préférence personnelle est similaire à votre première réponse, mais à mes yeux, sa lisibilité est plus facile:
var statement = con.createStatement
(
'select * from t where ' +
'(t.a1 = 0 and t.a2 >=-1) ' +
'order by a3 desc limit 1'
);
Il ressemble beaucoup au format de syntaxe SQL que j'utilise depuis près de 20 ans:
SELECT *
FROM t
WHERE
t.a1 = 0 AND
t.a2 >=-1
ORDER BY a3 DESC
LIMIT 1
Garder la suite (+
en JavaScript ou AND
en SQL) à l'extrême droite permet à l'œil de glisser uniformément sur le bord gauche, en vérifiant les valeurs et la syntaxe. C'est un peu plus difficile à faire avec la suite sur la gauche - pas important à moins que vous fassiez BEAUCOUP de ce genre de choses, auquel cas chaque calorie que vous dépensez est une calorie qui aurait pu être sauvée par une légère amélioration de format.
Étant donné que cette requête est si simple, tout découper au format SQL est un gaspillage d'espace et de bande passante, c'est pourquoi le JavaScript suggéré est sur six lignes au lieu de dix. Réduire les boucles d'une ligne chacune les amène à quatre lignes, économisant ainsi des espaces. Mais pas aussi clair ou aussi simple à éditer.
Le "+" sert à la concaténation de chaînes et la plupart des exemples traitent de chaînes. Que se passe-t-il si vous avez une commande dont vous avez besoin pour la chaîne sur plusieurs lignes, comme une instruction "if" composée? Vous avez besoin d'une barre oblique inversée à la fin de chaque ligne qui doit être poursuivie. Cela échappe au caractère de ligne suivante invisible afin qu'il ne délimite pas la commande au milieu de l'instruction.