JavaScript 開発者が知っておくべき簡単なヒント (上級)
この記事では、JavaScript 開発者が知っておくべき略語スキル (上級) を紹介します。必要な方は参考にしていただければ幸いです。
1. 変数の割り当て
ある変数の値を別の変数に割り当てる場合は、最初に元の値が null、未定義、空でないことを確認する必要があります。
これは、複数の条件を含む判定ステートメントを記述することで実現できます:
if (variable1 !== null || variable1 !== undefined || variable1 !== '') { let variable2 = variable1; }
または次の形式に省略できます:
const variable2 = variable1 || 'new';
次のコードを es6console 、Test に貼り付けることができます。自分で:
let variable1; let variable2 = variable1 || ''; console.log(variable2 === ''); // prints true variable1 = 'foo'; variable2 = variable1 || ''; console.log(variable2); // prints foo
2. デフォルト値の割り当て
予期されるパラメータが null または未定義の場合、デフォルト値を割り当てるために 6 行のコードを記述する必要はありません。短い論理演算子を使用するだけで、同じ操作を 1 行のコードで実行できます。
let dbHost; if (process.env.DB_HOST) { dbHost = process.env.DB_HOST; } else { dbHost = 'localhost'; }
省略形は:
const dbHost = process.env.DB_HOST || 'localhost';
3. オブジェクト属性
ES6 は、オブジェクトに属性を割り当てる非常に簡単な方法を提供します。プロパティ名がキー名と同じ場合は、省略形を使用できます。
const obj = { x:x, y:y };
省略形は:
const obj = { x, y };
4. アロー関数
古典的な関数は読み書きが簡単ですが、他の関数にネストして呼び出すと、 function 少し長くてわかりにくいかもしれません。このとき、アロー関数を使用してこれを省略できます:
function sayHello(name) { console.log('Hello', name); } setTimeout(function() { console.log('Loaded') }, 2000); list.forEach(function(item) { console.log(item); });
省略形は:
sayHello = name => console.log('Hello', name); setTimeout(() => console.log('Loaded'), 2000); list.forEach(item => console.log(item));
5 暗黙的な戻り値
戻り値は通常のものです。キーワード関数の最終結果を返すために使用します。ステートメントが 1 つだけあるアロー関数は、暗黙的に結果を返すことができます (return キーワードを省略するには、関数で括弧 ({ }) を省略する必要があります)。
複数行のステートメント (オブジェクト テキストなど) を返すには、{} の代わりに () を使用して関数本体をラップする必要があります。これにより、コードが単一のステートメントとして評価されることが保証されます。
function calcCircumference(diameter) { return Math.PI * diameter }
省略形は:
calcCircumference = diameter => ( Math.PI * diameter; )
6. デフォルトのパラメータ値
if ステートメントを使用して、関数パラメータのデフォルト値を定義できます。 ES6 では、関数宣言でデフォルト値を定義できると規定されています。
function volume(l, w, h) { if (w === undefined) w = 3; if (h === undefined) h = 4; return l * w * h; }
省略形は:
volume = (l, w = 3, h = 4 ) => (l * w * h); volume(2) //output: 24
7. テンプレート文字列
以前は、複数の変数を文字列に変換するために " " を使用していましたが、もっと簡単な方法はどうでしょうか?
ES6 は対応するメソッドを提供しており、バックティックと $ { } を使用して変数を文字列に結合できます。
const welcome = 'You have logged in as ' + first + ' ' + last + '.' const db = 'http://' + host + ':' + port + '/' + database;
省略形は:
const welcome = `You have logged in as ${first} ${last}`; const db = `http://${host}:${port}/${database}`;
8. 代入の構造化
代入の構造化は、配列またはオブジェクトから属性値を迅速に抽出し、それらを割り当てるために使用される式です。定義された変数。
コードの省略に関しては、代入の構造化を行うと良い結果が得られます。
const observable = require('mobx/observable'); const action = require('mobx/action'); const runInAction = require('mobx/runInAction'); const store = this.props.store; const form = this.props.form; const loading = this.props.loading; const errors = this.props.errors; const entity = this.props.entity;
省略形は次のとおりです:
import { observable, action, runInAction } from 'mobx'; const { store, form, loading, errors, entity } = this.props;
独自の変数名を指定することもできます:
const { store, form, loading, errors, entity:contact } = this.props;
9 展開演算子は ES6 にあります。スプレッド演算子を使用すると、JavaScript コードをより効率的で興味深いものにすることができます。
一部の配列関数は、スプレッド演算子を使用して置き換えることができます。
// joining arrays const odd = [1, 3, 5]; const nums = [2 ,4 , 6].concat(odd); // cloning arrays const arr = [1, 2, 3, 4]; const arr2 = arr.slice( )
省略形は次のとおりです:
// joining arrays const odd = [1, 3, 5 ]; const nums = [2 ,4 , 6, ...odd]; console.log(nums); // [ 2, 4, 6, 1, 3, 5 ] // cloning arrays const arr = [1, 2, 3, 4]; const arr2 = [...arr];
concat() と concat() の関数の違いは、ユーザーがスプレッド演算子を使用して別の配列を任意の配列に挿入できることです。
const odd = [1, 3, 5 ]; const nums = [2, ...odd, 4 , 6];
展開演算子と ES6 分割シンボルを一緒に使用することもできます:
const { a, b, ...z } = { a: 1, b: 2, c: 3, d: 4 }; console.log(a) // 1 console.log(b) // 2 console.log(z) // { c: 3, d: 4 }
10. 必須パラメータ
関数パラメータに値が渡されない場合、デフォルトでは、その場合、JavaScript は関数のパラメータを未定義に設定します。他の言語では警告またはエラーが表示されます。パラメータの割り当てを実行するには、if ステートメントを使用して未定義エラーをスローするか、「強制パラメータ」を利用できます。
function foo(bar) { if(bar === undefined) { throw new Error('Missing parameter!'); } return bar; }
省略形は:
mandatory = ( ) => { throw new Error('Missing parameter!'); } foo = (bar = mandatory( )) => { return bar; }
11 Array.find
通常の JavaScript で find 関数を作成したことがある場合は、for ループを使用したことがあるかもしれません。 ES6 では、for ループを実装するための省略表現である find() と呼ばれる新しい配列関数が導入されました。
const pets = [ { type: 'Dog', name: 'Max'}, { type: 'Cat', name: 'Karl'}, { type: 'Dog', name: 'Tommy'}, ] function findDog(name) { for(let i = 0; i<pets.length; ++i) { if(pets[i].type === 'Dog' && pets[i].name === name) { return pets[i]; } } }
省略形は:
pet = pets.find(pet => pet.type ==='Dog' && pet.name === 'Tommy'); console.log(pet); // { type: 'Dog', name: 'Tommy' }
12. オブジェクト [key]
foo.bar を foo ['bar'] と書くのが一般的ですが、これはこれらの実践は、再利用可能なコードを作成するための基礎を形成します。
次の簡略化された検証関数の例を検討してください:
function validate(values) { if(!values.first) return false; if(!values.last) return false; return true; } console.log(validate({first:'Bruce',last:'Wayne'})); // true
上記の関数は検証作業を完全に完了します。ただし、フォームが多数ある場合は検証を適用する必要があり、さまざまなフィールドやルールが存在します。実行時に構成できる汎用の検証関数を構築できれば、それは良い選択となるでしょう。
// object validation rules const schema = { first: { required:true }, last: { required:true } } // universal validation function const validate = (schema, values) => { for(field in schema) { if(schema[field].required) { if(!values[field]) { return false; } } } return true; } console.log(validate(schema, {first:'Bruce'})); // false console.log(validate(schema, {first:'Bruce',last:'Wayne'})); // true
この検証関数を使用すると、フォームごとにカスタム検証関数を作成することなく、すべてのフォームでそれを再利用できるようになります。
13. ダブルビット演算子
ビット演算子は JavaScript 初心者向けチュートリアルの基本的な知識ポイントですが、ビット演算子はあまり使用しません。なぜなら、バイナリを扱わずに 1 と 0 を扱いたい人はいないからです。
しかし、2 ビット演算子には非常に実用的なケースがあります。 Math.floor( ) の代わりに倍ビット演算子を使用できます。ダブルネガティブ位置決め演算子の利点は、同じ操作をより速く実行できることです。
Math.floor(4.9) === 4 //true
省略形は次のとおりです:
~~4.9 === 4 //true
上記は、JavaScript 開発者が知っておく必要がある省略テクニック (上級) の完全な紹介です。
JavaScript ビデオについて詳しく知りたい場合は、こちらをご覧ください。チュートリアル以上がJavaScript 開発者が知っておくべき簡単なヒント (上級)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









タイトル: 徹底した比較: VSCode と Visual Studio の機能の違い、特定のコード例が必要 フロントエンド コードを作成するかバックエンド コードを作成するかにかかわらず、開発者は多くの場合、作業効率を向上させるために自分に合った統合開発環境 (IDE) を選択する必要があります。 。多くの IDE の中でも、VSCode と Visual Studio の 2 つは人気のある製品です。この記事では、2 つの IDE の機能の違いを詳細に比較し、特定のコード例を通してそれを示します。 VSCodeはマイクロソフトによって発売されました

答えは。 Layui は、インターフェイス コンポーネント、データ操作、チャート、アニメーション、レスポンシブ デザインなどの機能を含む、最新の Web アプリケーションを構築するための事前定義されたコンポーネントとツールのセットを提供するフロントエンド フレームワークです。

ECharts は jQuery に依存する必要がありますか?詳細な解釈には、特定のコード例が必要です。ECharts は、豊富なチャート タイプと対話型関数を提供する優れたデータ視覚化ライブラリであり、Web 開発で広く使用されています。 ECharts を使用するとき、多くの人は「ECharts は jQuery に依存する必要があるのか?」という疑問を持つでしょう。この記事ではこれについて詳しく説明し、具体的なコード例を示します。まず、明確にしておきたいのですが、ECharts 自体は jQuery に依存しません。

JavaScript 開発におけるテンプレート エンジンの選択と使用に関する経験の共有 はじめに: 最新のフロントエンド開発では、テンプレート エンジン (TemplateEngine) が重要な役割を果たします。これらにより、開発者は大量の動的データをより効率的に整理および管理し、データをインターフェイスのプレゼンテーションから効果的に分離できるようになります。同時に、適切なテンプレート エンジンを選択すると、開発者により良い開発エクスペリエンスとパフォーマンスの最適化がもたらされます。しかし、数多くの JavaScript テンプレート エンジンの中で、どれを選択すればよいでしょうか?キャッチ

VSCode は、複数のプログラミング言語とファイル形式をサポートする強力なコード エディターです。 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go、その他の言語のサポートが組み込まれており、拡張プラグインを通じて、Rust、C#、Objective-C、PHP、 Ruby、Swift、SQL、XMLなど

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

SAP は、多数の新しい生成 AI 機能を展開しており、これらの機能はまもなく SAP Datasphere プラットフォームで利用できるようになる予定です。 SAPは、最新の更新された機能により、ユーザーはより直観的なビジネスデータ対話エクスペリエンスを提供し、企業のよりスマートな変革の促進に役立つと述べた。これらの新機能には、さまざまなデータ分析タスクを自動化するコパイロット ツールや、より高度な生成 AI ワークロードをサポートするベクトル データベース機能が含まれます。さらに、複雑なデータセットのさまざまな洞察とパターンを明らかにするための新しいナレッジ グラフが開始されました。これらの機能の導入により、ユーザーのワークフローの効率化やデータ分析機能の強化など、企業の意思決定をより包括的に支援します。 2023 年 3 月の SAP データスフィア

JavaScriptでは、1つのポイントの2つのポイント(ラジアン)間の角度を別のポイントに比較して計算する必要性に遭遇することがよくあります。
