Расскажем и покажем что такое современный JavaScript и где он используется.
// Оператор &&= проверит, является ли значение filesCount истинным.
// Если это так - правый операнд будет присвоен левому.
let myFiles = {filesCount: 100, files:[]};
myFiles.filesCount &&= 5;
console.log(myFiles);
// Выведет: {filesCount: 5, files: Array(0)}
Оператор &&= тоже работает по сокращённой схеме вычислений. Этот оператор эквивалентен следующему выражению, в котором используется логический оператор И:
a && (a = b)#js #es12
// Оператор ??= проверит, равняется ли lastname null или undefined.
// Если это так - правый операнд будет присвоен левому.
let userDetails = {firstname: 'Katina', age: 24}
userDetails.lastname ??= 'Dawson';
console.log(userDetails);
// Выведет: {firstname: 'Katina', age: 24, lastname: 'Dawson'}
#js #es12// Оператор ||= проверит, не является ли ложным (0) значение songsCount.
// Если это так, правый операнд будет записан в переменную, находящуюся в левой части выражения.
let myPlaylist = {songsCount: 0, songs:[]};
myPlaylist.songsCount ||= 100;
console.log(myPlaylist);
// Выведет: {songsCount: 100, songs: Array(0)}
Этот оператор работает по сокращённой схеме вычислений.
Он эквивалентен следующему выражению, в котором используется логический оператор ИЛИ:
a || (a = b)
#js #es12