var x = [23, 44, 67] var a, b, c; [a, b, c] = x; write(b) // 44
var x = {a:23, b:44, c:67} var {a, b, c} = x; write(b) // 44
var a, b; [a, b] = [123, 456]; write(b) // 456
var a=123, b=456; [a, b] = [b, a]; write(b) // 123 write([a, b]) // 456,123 !!
function f() {return [123, 234]} var a, b; [a, b] = f(); write(b) // 234
var x = [23, 44, 67] var a, b; [a, , b] = x; write(b) // 67 function f() {return [123, 234, 345]} var [a, , b] = f(); write(b) // 345
var parts = ['shoulder', 'knees']; var lyrics = ['head', ...parts, 'and', 'toes']; write(lyrics) // head,shoulder,knees,and,toes function f(x, y, z) { } var args = [0, 1, 2]; f(...args); ...Näihin palattaneen myöhemmin.
var a = "kissa" && "koira"; // a=="koira"; var b = "kissa" || "koira"; // b=="kissa!Looginen operaatio siis palauttaa arvonaan viimeksi evaluoimansa arvon!
JavaScript-idiomiin (vakiintuneeseen ilmaisutapaan) kuuluu seuraavan esimerkin kaltainen tyyli korvata kelvoton syöte (tms.) sopivalla oletusarvolla:
// käyttäjältä on pyydetty syöte muuttujaan s var vastaus = s || "oletusarvo";Jos käyttäjä syöttää jotakin epätodeksi tulkittavaa kuten "", undefined, NaN, ..., muuttuja vastaus saa oletusarvon.
7=="7", 6<="7", "6"<=7, ... jne.
"a"<"b", !("a"<"B"), "aasi"<"aasia" ... jne.
var ika = prompt("Mikä on ikäsi?") alert( (ika >= 18) ? "Tervetuloa ravintolaan!" : "Seis lapsi!" )
var a = (3.14, "kissa", "koira"); // a=="koira"Järkevä(?) käyttö liittyy esim. for-lauseen otsikon alkuarvon ja etenemisilmauksen monitoiminnallisuuteen:
for (var i=1, j=5; i<j; ++i, --j, alert("Ja taas mennään!")) alert(i*j);