Heim > Web-Frontend > js-Tutorial > 10 nützliche Tipps für JavaScript-Entwickler

10 nützliche Tipps für JavaScript-Entwickler

hzc
Freigeben: 2020-06-17 09:36:28
nach vorne
2011 Leute haben es durchsucht

Möglicherweise haben Sie diese sehr nützlichen Tipps verpasst.

Übersetzt aus „10 super nützliche Tricks für JavaScript-Entwickler“ von Mahdhi Rezvi.

Wir wissen, dass JavaScript eine Sprache ist, die sich schnell entwickelt. Zusammen mit ES2020 wurden viele tolle Funktionen hinzugefügt. Ehrlich gesagt kann man Code auf viele verschiedene Arten schreiben. Um dieselbe Funktion zu implementieren, sind einige Codes sehr lang und andere sehr kurz. Es gibt ein paar Tricks, mit denen Sie Ihren Code sauberer und klarer gestalten können. Die folgenden Tipps werden Ihnen bei Ihrer nächsten Entwicklungsarbeit auf jeden Fall nützlich sein.

Funktionsparametervalidator

Mit JavaScript können Sie Standardwerte für Funktionsparameter festlegen. Mit dieser Funktion können wir einen kleinen Trick implementieren, um Funktionsparameter zu überprüfen.

const isRequired = () => { throw new Error('param is required'); };
const print = (num = isRequired()) => { console.log(`printing ${num}`) };
print(2); //printing 2
print(); // error
print(null); //printing null
Nach dem Login kopieren

JSON-Code formatieren

Sie müssen mit JSON.stringify sehr vertraut sein, aber wussten Sie, dass Sie Ihren Code auch mit der Methode stringify formatieren können? Eigentlich ist es ganz einfach. Die Methode

stringify hat drei Parameter, nämlich value replacer und space. Die letzten beiden Parameter sind optional, daher verwenden wir sie normalerweise nicht. Wenn wir den Ausgabecode einrücken möchten, können wir 2 oder 4 Leerzeichen verwenden.

console.log(JSON.stringify({ name:"John", Age:23 }, null, '  '));
>>> 
{
  "name": "John",
  "Age": 23
}
Nach dem Login kopieren

Arrays deduplizieren

Früher haben wir die Funktion filter verwendet, um beim Deduplizieren von Arrays doppelte Werte herauszufiltern. Aber jetzt können wir mit der neuen Funktion Set filtern. Ganz einfach:

let uniqueArray = [...new Set([1, 2, 3, 3, 3, "school", "school", 'ball', false, false, true, true])];
>>> [1, 2, 3, "school", "ball", false, true]
Nach dem Login kopieren

Entfernen Sie den Wert im Array, in dem Boolean(v) falsch ist.

Manchmal möchten Sie den Wert im Array entfernen, in dem Boolean(v) den Wert false hat. In JavaScript gibt es nur die folgenden 6 Typen:

  • undefined
  • null
  • NaN
  • 0
  • Leere Zeichenfolge
  • false

Der einfachste Weg, diese Werte zu entfernen, ist die Verwendung der folgenden Methode:

array.filter(Boolean)
Nach dem Login kopieren

Wenn Sie Wenn Sie zuerst etwas ändern und dann filtern möchten, können Sie die folgende Methode verwenden. Denken Sie daran, dass das ursprüngliche Array array unverändert bleibt und ein neues Array zurückgegeben wird.

array
  .map(item => {      // Do your changes and return the new item
  })
  .filter(Boolean);复制代码
Nach dem Login kopieren

Mehrere Objekte gleichzeitig zusammenführen

Wenn Sie mehrere Objekte oder Klassen gleichzeitig zusammenführen müssen, können Sie die folgende Methode verwenden.

const user = {
  name: "John Ludwig",
  gender: "Male",
};
const college = {
  primary: "Mani Primary School",
  secondary: "Lass Secondary School",
};
const skills = {
  programming: "Extreme",
  swimming: "Average",
  sleeping: "Pro",
};
const summary = { ...user, ...college, ...skills };

>>>
{
  name: 'John Ludwig',
  gender: 'Male',
  primary: 'Mani Primary School',
  secondary: 'Lass Secondary School',
  programming: 'Extreme',
  swimming: 'Average',
  sleeping: 'Pro'
}
Nach dem Login kopieren

Die drei Punkte werden auch Erweiterungsoperatoren genannt.

Numerische Arrays sortieren

JavaScript-Arrays verfügen über eine native Sortiermethode arr.sort. Diese Sortiermethode wandelt Array-Elemente standardmäßig in Strings um und sortiert sie lexikografisch. Dieses Standardverhalten kann beim Sortieren numerischer Arrays zu Problemen führen. Hier finden Sie eine Möglichkeit, mit diesem Problem umzugehen.

[0, 10, 4, 9, 123, 54, 1].sort()
>>> [0, 1, 10, 123, 4, 54, 9]

[0, 10, 4, 9, 123, 54, 1].sort((a,b) => a-b);
>>> [0, 1, 4, 9, 10, 54, 123]
Nach dem Login kopieren

Rechtsklick deaktivieren

Manchmal möchten Sie möglicherweise den Rechtsklick durch Benutzer deaktivieren. Obwohl diese Anforderung selten vorkommt, kann sie sich als nützlich erweisen.

<body oncontextmenu="return false">
  <div></div>
</body>
Nach dem Login kopieren

Dieses einfache Code-Snippet kann verhindern, dass Benutzer mit der rechten Maustaste klicken.

Umbenennen während der Destrukturierung

Destrukturierende Zuweisung ist eine Funktion von JavaScript, die es ermöglicht, Werte direkt aus Arrays oder Objekten abzurufen, ohne dass eine umständliche Deklaration von Variablen und anschließende Zuweisung erforderlich sind. Für Objekte können wir auf folgende Weise einen Namen für den Attributnamen neu definieren.

const object = { number: 10 };
// Grabbing number
const { number } = object;
// Grabbing number and renaming it as otherNumber
const { number: otherNumber } = object;
console.log(otherNumber); // 10
Nach dem Login kopieren

Letztes Element im Array abrufen

Wenn Sie das letzte Element im Array abrufen möchten, können Sie die Funktion slice mit einer negativen Zahl als Parameter verwenden.

let array = [0, 1, 2, 3, 4, 5, 6, 7] 
console.log(array.slice(-1));
>>>[7]console.log(array.slice(-2));
>>>[6, 7]console.log(array.slice(-3));
>>>[5, 6, 7]
Nach dem Login kopieren

Warten Sie, bis alle Versprechen ausgeführt wurden

Manchmal müssen Sie möglicherweise warten, bis mehrere Versprechen ausgeführt wurden, bevor Sie nachfolgende Vorgänge ausführen. Sie können Promise.all verwenden, um diese Versprechen parallel auszuführen.

const PromiseArray = [
    Promise.resolve(100),
    Promise.reject(null),
    Promise.resolve("Data release"),
    Promise.reject(new Error('Something went wrong'))];
Promise.all(PromiseArray)
  .then(data => console.log('all resolved! here are the resolve values:', data))
  .catch(err => console.log('got rejected! reason:', err))
Nach dem Login kopieren

Bitte beachten Sie, dass, solange sich einer von Promise.all im abgelehnten Zustand befindet, die Ausführung sofort gestoppt und eine Ausnahme ausgelöst wird.

Wenn Sie den Status „Gelöst“ oder „Abgelehnt“ ignorieren möchten, können Sie Promise.allSettled verwenden. Dies ist eine neue Funktion von ES2020.

const PromiseArray = [
  Promise.resolve(100),
  Promise.reject(null),
  Promise.resolve("Data release"),
  Promise.reject(new Error("Something went wrong")),
];
Promise.allSettled(PromiseArray)
  .then((res) => {
    console.log("here", res);
  })
  .catch((err) => console.log(err));
>>>
here [
  { status: 'fulfilled', value: 100 },
  { status: 'rejected', reason: null },
  { status: 'fulfilled', value: 'Data release' },
  {
    status: 'rejected',
    reason: Error: Something went wrong
        at Object.<anonymous> 
        at Module._compile (internal/modules/cjs/loader.js:1200:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
        at Module.load (internal/modules/cjs/loader.js:1049:32)
        at Function.Module._load (internal/modules/cjs/loader.js:937:14)
        at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
        at internal/main/run_main_module.js:17:47
  }
]
Nach dem Login kopieren

Empfohlenes Tutorial: „JS-Tutorial

Das obige ist der detaillierte Inhalt von10 nützliche Tipps für JavaScript-Entwickler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage