JavaScript Zeug

JSON.stringify with pretty output

JSON.stringify(some, null, 4)

Das formatiert das Objekt ’some‘ mit 4 Leerzeichen für die Einrückung.

document ready

…mit pure JavaScript:

(function () {

})();

…mit jQuery:

$(document).ready(function () {

});

Thanks and more: stackoverflow

HTML entities decode

…the secure way [nerdface].

let decoded = (new DOMParser()).parseFromString('Straße', 'text/html').documentElement.textContent;

NOT instanceof

…einfach ein Semikolon vor ‚instanceof‘ oder den ersten Operanden funzt nicht.

if (!(anObject instanceof BaseClass)) {
    // ...
}

Anzahl der Tage eines Monats

/**
 * @param month 1 = Januar
 * @param year
 */
function getDaysInMonth(month, year) {
  /**
   * 0 = Januar
   * Tag 0 ist der letzte Tag der vorigen Monat
   */
  return new Date(year, month, 0).getDate();
}

function vs object

const myFunc = function () {
}

let funcType = 'nix';
if (typeof myFunc === 'object') {
    funcType = 'object';
}
(function () {
    document.getElementById('func_type').innerHTML = funcType + '<br>typeof: ' + typeof myFunc;
})();

…produce:

nix
typeof: function

clone object

Flacher Klon:

const myClone = {...this.myObj};

Spread Syntax at developer.mozilla.org

open in new tab

window.open('some-url.html', '_blank').focus();

iterate object properties

for (const [key, value] of Object.entries(myObject)) {
  this.myMap.set(key, value);
}
// oder in TypeScript mit typisierten property values
for (const [key, value] of Object.entries<string>(myObject)) {
  this.myMap.set(key, value);
}

Datum konvertieren

Gegeben ist ein Datum-Zeit Objekt aus einem Angular Datepicker („2022-11-14T23:00:00.000Z“). Darauf kann man die substring() Methode nicht anwenden (function does not exist).

const isoDateString: (new Date(datepickerString)).toISOString().substring(0, 10)
// Ausgabe: 2022-11-14