ホームページ  >  記事  >  ウェブフロントエンド  >  すべての開発者が知っておくべき JavaScript の重要なトリック

すべての開発者が知っておくべき JavaScript の重要なトリック

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 12:48:01677ブラウズ

JavaScript を初めて使用する場合でも、何年もコーディングを行っている場合でも、コーディング作業を楽にする新しいトリックやヒントが常にあります。この投稿では、コードを改善するだけでなく、生産性も向上させる 30 の JavaScript の重要なトリックについて詳しく説明します。

1. var の代わりに const と let を使用します

var に別れを告げましょう! const と let を使用すると、スコープ関連の問題を防ぎ、コードをより予測しやすくなります。

2. デフォルトの関数パラメータ

未定義の値を避けるために、関数パラメータのデフォルト値を設定します。

function greet(name = "Guest") {
    console.log(`Hello, ${name}`);
}

3. よりクリーンなコードのためのアロー関数

アロー関数はよりクリーンな構文を提供し、このコンテキストをより直観的に処理します。

const add = (a, b) => a + b;

4. 配列とオブジェクトの分割

構造を分割すると、配列やオブジェクトからの値の抽出が簡素化されます。

const [x, y] = [1, 2];
const { name, age } = { name: "John", age: 30 };

5. 配列/オブジェクトを結合するためのスプレッド演算子

Spread 構文は、配列やオブジェクトのコピーとマージに最適です。

const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]

6. よりクリーンな文字列のためのテンプレート リテラル

複数行の文字列と変数の補間にはバッククォートを使用します。

const name = "Alice";
console.log(`Hello, ${name}!`);

7. オプションのチェーン (?.)

エラーを気にせずに、深くネストされたオブジェクトのプロパティにアクセスします。

const user = { address: { street: "Main St" } };
console.log(user?.address?.street); // Main St

8. ヌル合体演算子 (??)

使用?? null 値 (null または未定義) を処理します。

let name = null;
console.log(name ?? "Guest"); // Guest

9. Array .map() メソッド

配列値を簡単に変換します。

const numbers = [1, 2, 3];
const doubled = numbers.map(n => n * 2); // [2, 4, 6]

10. 配列 .filter() メソッド

条件に基づいて要素をフィルタリングします。

const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(n => n % 2 === 0); // [2, 4]

11. Array .reduce() メソッド

配列を和や積などの単一の値に変換します。

const numbers = [1, 2, 3];
const sum = numbers.reduce((total, num) => total + num, 0); // 6

12. 短絡評価

&& と || を使用します簡潔な条件付きロジック用。

const loggedInUser = user && user.name;

13. 即時に呼び出される関数式 (IIFE)

関数が定義されたらすぐに実行します。

(function() {
    console.log("This runs immediately!");
})();

14. パフォーマンス向上のためのメモ化

関数の結果を保存して、負荷の高い操作のパフォーマンスを向上させます。

const memoize = fn => {
    const cache = {};
    return (...args) => {
        if (cache[args]) return cache[args];
        const result = fn(...args);
        cache[args] = result;
        return result;
    };
};

15. デバウンスとスロットリング

関数の呼び出し頻度を制限することで、イベント リスナーを最適化し、パフォーマンスを向上させます。

const debounce = (func, delay) => {
    let timeout;
    return (...args) => {
        clearTimeout(timeout);
        timeout = setTimeout(() => func(...args), delay);
    };
};

16. オブジェクトプロパティの省略表現

変数と同じ名前のオブジェクト プロパティを定義するための短縮形。

const name = "Alice";
const user = { name };

17. オブジェクトメソッドの短縮表現

オブジェクト メソッドには短縮構文を使用します。

const obj = {
    greet() {
        console.log("Hello!");
    }
};

18. タイムアウトと間隔の設定

setTimeout() と setInterval() を使用して関数の実行タイミングを制御します。

function greet(name = "Guest") {
    console.log(`Hello, ${name}`);
}

19. 単純な条件の三項演算子

単純な if-else ステートメントをより簡潔にします。

const add = (a, b) => a + b;

20. 不変オブジェクトを作成する Object.freeze()

オブジェクトへの変更を禁止します。

const [x, y] = [1, 2];
const { name, age } = { name: "John", age: 30 };

21. Object.keys()、Object.values()、Object.entries()

オブジェクトからキー、値、またはキーと値のペアをすばやく取得します。

const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]

22. クリーンな非同期コードの非同期/待機

非同期操作をより読みやすい方法で処理します。

const name = "Alice";
console.log(`Hello, ${name}!`);

23. 同時非同期タスクの Promise.all()

複数の Promise を並行して実行し、すべてが解決されるまで待ちます。

const user = { address: { street: "Main St" } };
console.log(user?.address?.street); // Main St

24. 関数の引数の構造化

コードをよりクリーンにするには、関数パラメーターで直接構造化を使用します。

let name = null;
console.log(name ?? "Guest"); // Guest

25. これの力

これがさまざまなコンテキスト (関数、クラス、アロー関数) でどのように動作するかを学びます。

const numbers = [1, 2, 3];
const doubled = numbers.map(n => n * 2); // [2, 4, 6]

26. 非同期ループの処理

ループ内の非同期関数は、await で慎重に処理する必要があります。

const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(n => n % 2 === 0); // [2, 4]

27. 動的プロパティ名

オブジェクトで動的プロパティ キーを使用します。

const numbers = [1, 2, 3];
const sum = numbers.reduce((total, num) => total + num, 0); // 6

28. 配列の .some() メソッドと .every() メソッド

一部またはすべての要素が条件を満たしているかどうかを確認します。
JavaScript

const loggedInUser = user && user.name;

29. 名前付きエクスポートとデフォルトエクスポート

モジュール内の名前付きエクスポートとデフォルトのエクスポートの違いを理解します。

(function() {
    console.log("This runs immediately!");
})();

30. console.table() によるデバッグ

オブジェクトまたは配列をテーブル形式で視覚化するには、console.table() を使用します。

const memoize = fn => {
    const cache = {};
    return (...args) => {
        if (cache[args]) return cache[args];
        const result = fn(...args);
        cache[args] = result;
        return result;
    };
};

結論

これらの 30 の JavaScript トリックは、すべての開発者がツールキットに含めるべき幅広いテクニックをカバーしています。パフォーマンスの向上、コードのクリーンアップ、または読みやすさの向上を目指す場合でも、これらのヒントは、より優れた効率的な JavaScript を作成するのに役立ちます。ご質問がございましたら、以下にコメントしてください...


私のウェブサイト: https://shafayet.zya.me


あなたのためのミームですか?

Top JavaScript Tricks Every Developer Should Know

以上がすべての開発者が知っておくべき JavaScript の重要なトリックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。