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);