JS 開発効率を上げる4つの超実践的なヒント

JS 開発効率を上げる4つの超実践的なヒント

1. 短絡判定

この方法は、単純なif条件のみが必要な場合に使用できます。

x = 0 とします。
foo = () とすると、 console.log('実行されました');

x === 0 の場合
  関数foo()
}

同じ if 関数は&&演算子を使用して実現できます。 && の前の条件がfalseの場合、 && の後のコードは実行されません。

x = 0 とします。
foo = () とすると、 console.log('実行されました');

x === 0 && foo()

さらに if 条件を追加することもできますが、これによってもステートメントの複雑さが増すため、2 つ以上の条件を追加することはお勧めしません。

x = 0 とします。
y = 0 とします。
foo = () とすると、 console.log('実行されました');

x === 0 && y === 0 && foo()

2. オプション連鎖演算子 (?)

バックグラウンド API によって返されるデータが正しいかどうかわからないことがあるため、JS オブジェクトにkeyが存在するかどうかを頻繁に確認します。

userオブジェクトには、属性nameを持つオブジェクトが含まれています。name nameには、属性firstNameがありますuser.name.firstName直接判定に使用した場合、name 属性が存在しない場合はエラーが報告されます。したがって、判定を行う前に、user.name が存在するかどうかも判定する必要があり、2 層のネストされた if 判定が必要になります。

ユーザー = {
  名前 : {
    名 : 'あおふかおし'
  }
}

if(ユーザー名){
  if(ユーザー名.firstName){
    console.log('ユーザーオブジェクトにfirstNameフィールドが含まれています')
  }
}

このとき、 ? user.nameを使用して操作を簡略化できます。user.name が存在しない場合はfalseも返されるため、1 層の判断を直接使用できます。

ユーザー = {
  名前 : {
    名 : 'あおふかおし'
  }
}

if(user.name?.firstName){
  console.log('ユーザーオブジェクトにfirstNameフィールドが含まれています')
}

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

if/else と比較すると、三項演算子ははるかに短くなります。ロジックが単純であれば、使用するのに便利です。

例えば:

ユーザー = {
  名前 : {
    名 : 'あおふかおし'
  }
}

foo = () => {とする
  user.name?.firstName を返します。 
    ユーザー名: 
    「firstName が存在しません」
}

コンソールログ(foo())

まず、? 演算子を使用して存在するかどうかを判断します。存在する場合は false を返します。存在しない場合は false を返します。次に、次のロジックに進みます。

?? アルゴリズムを使用してコードをより簡潔にします

ユーザー = {
  名前 : {
    名 : 'あおふかおし'
  }
}

foo = () => {とする
  user.name?.firstName ?? を返します。 
  「firstName が存在しません」
}
  
コンソールログ(foo())

4. 終了関数を返す

次の関数は、 if elseネストを多用してxの値を決定します。

x = 1 とします。
foo = () => {とする
  x < 1の場合{
    'x は 1 未満' を返します
  } それ以外 {
    もし(x > 1){
      'xは1より大きい'を返す
    }それ以外{
      'xは1に等しい'を返す
    }
  }
}

コンソールログ(foo())

このif elseネストにより、 returnステートメントがコードの実行を終了して関数に戻るため、 else条件を削除してコードを簡素化できます。

x = 1 とします。
foo = () => {とする
  x < 1の場合{
    'x は 1 未満' を返します
  }
  もし(x > 1){
    'x はより大きい' を返す
  }
  'xは1に等しい'を返す
}

コンソールログ(foo())

これで、開発効率を向上させる 4 つの超実用的な JS のヒントに関するこの記事は終了です。開発効率を向上させる 4 つの実用的な JS のヒントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 珍しいけれど役に立つJSテクニックをいくつか紹介します
  • JavaScript 文字列操作の 4 つの実用的なヒント
  • 実践的なJavascriptデバッグスキルの共有(概要)
  • JavaScript の実用的なヒントのまとめ
  • JavaScript 実践コードのヒント
  • vue.js プロジェクトにおける実用的なヒントのまとめ
  • JavaScript 実行効率を向上させる 23 の実用的なヒント
  • AngularJS 実践開発スキル(推奨)
  • 49 個の JavaScript のヒントとコツ

<<:  Docker を使用してスタンドアロン Pulsar とクラスター化された Redis をデプロイする方法 (開発アーティファクト)

>>:  Alibaba Cloud Server に MySQL データベースをインストールする詳細なチュートリアル

推薦する

画像内のrarファイルを隠す方法

このロゴを .rar ファイルとしてローカルに保存し、解凍して効果を確認することができます。よりシン...

MySQL主キー命名戦略関連

最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

Windows 10 での MySQL 8.0.20 のインストールと設定方法のグラフィック チュートリアル

Win10システムにMySQL8.0.20をローカルにインストールし、個人的にテストして利用可能であ...

TypeScript名前空間の説明

目次1. 定義と使用1.1 定義1.2 使用2. 複数のファイルに分割する3. エイリアス序文: T...

CentOS のファイルと権限の基本操作チュートリアル

序文始める前に、ファイル属性とファイル属性を変更する方法について簡単に理解しておく必要があります。 ...

jQuery ツリービュー ツリー構造アプリケーション

この記事では、jQueryツリービューツリー構造のアプリケーションコードを例として紹介します。具体的...

Mysql系SQLクエリ文の書き順と実行順を詳しく解説

目次1. 完全なSQLクエリステートメントの記述順序2. 完全なSQL文の実行順序3. select...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

小規模プロジェクトで Vue が点滅するのを防ぐ方法

まとめHTML: 要素と v-cloak CSS: [v-cloak]{表示: なし}プロセスページ...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

XHTML タグのネスト規則の分析

XHTML 言語では、ul タグに li が含まれ、dl タグに dt と dd が含まれることは誰...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

HTML の marquee 属性の詳細な説明

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルでのみサポートされているため、IEカ...