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

Linda Hamilton
リリース: 2024-10-23 12:48:01
オリジナル
676 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!