ホームページ ウェブフロントエンド jsチュートリアル Console.log()を超えて、デバッグスキルをレベルアップします

Console.log()を超えて、デバッグスキルをレベルアップします

Feb 10, 2025 pm 02:03 PM

Beyond Console.log() – Level up Your Debugging Skills

ブラウザ開発者ツールは、<code>console.log()よりもはるかに多く、その強力な機能により開発効率が大幅に向上する可能性があります。この記事では、ワークフローを最適化するのに役立つあまり知られていない実用的なヒントについて説明します。

コアポイント

  • ログの特定の変更を探すことなく、コンソールのリアルタイム式を使用して、リアルタイムでスクリプトの変更を監視します。
  • コンソールを使用して現在のドキュメントを直接操作し、<code>$_を使用して最後のコマンドの結果を取得し、<code><code>から
  • にチェックされた要素のスタックにアクセスします。
  • より強力なスクリプト編集環境のコンソールから「ソース」パネルに切り替え、マルチラインスクリプティングとWebページとの複雑な相互作用をサポートします。
  • ショートカットキー(Ctrl Shift Pなど)を使用して、コマンドメニューを介して開発者ツールにすばやくアクセスして、デバッグプロセスを簡素化します。
  • ワークスペースをセットアップすることにより、デバッグと開発のシームレスな統合、ブラウザー開発者ツールで作成された変更を直接ソースコードに同期させます。
  • VSコード拡張機能とリアルタイムサイトのデバッグを組み合わせて、VSコード拡張機能を備えたDevToolsを介して、Visual Studioコードをブラウザ開発者ツールと統合します。

快適なゾーンから脱出

開発者は、効率の向上を制限する可能性のあるワークフローを固定するためによく使用されます。一般的なプロセスは、エディターにコードを書き、保存してブラウザに切り替えてロードし、開発者ツールを使用してCSSを調整し、サイジングとモバイルシミュレーションテストを実行します。ライン番号とデバッグ情報に密接に関連している

ステートメントを追加してデバッグ。 <code>console.log()

この方法は非効率的で混乱しています。ブラウザツールには、最終製品に属さないデバッグ情報が入っています。これにより、他の人が理解するのが難しくなるだけでなく、初心者の開発者にトラブルを引き起こします。開発者ツールの機能のごく一部しか使用しておらず、効率を向上させる機会を逃しました。

この記事では、Visual StudioコードにChromiumブラウザー開発者ツールと実用的な機能を紹介します。まず、コンソールに飛び込みましょう。

高度なコンソールスキル

デバッグのためにコードに

を追加することに慣れています。しかし、これは時々非効率的であり、元の形式のデータを理解するのは困難です。 <code>console.log(thing)

GitHubで次のヒントを取得し、開発者ツールが開かれているブラウザで表示できます。 (または、Codepenのオンラインデモをチェックしてください)

最初に、変数値を印刷するだけでなく、簡単な追跡のために変数名を表示するだけでなく、ログに巻き毛のブレースを追加します。

1

2

3

let x = 2;

console.log(x) // 2

console.log({x}) // {x: 2}

ログイン後にコピー
ログイン後にコピー

フォーマットlog

パーセントサインから始まるフォーマット仕様を使用すると、特定の値を異なる形式で記録できます。
  • <code>%s:文字列
  • として記録します
  • <code>%iまたは<code>%d:整数として記録
  • <code>%f:フローティングポイント番号として記録
  • <code>%o:拡張可能なDOM要素として記録
  • <code>%O:拡張可能なjavaScriptオブジェクトレコードとして

これらの指定器は、交換とパラメーターの順序の組み合わせで使用できます。

1

2

3

let x = 2;

console.log(x) // 2

console.log({x}) // {x: 2}

ログイン後にコピー
ログイン後にコピー
タイプ変換も実行できます:

1

2

console.log('%ix %s developer', 10, 'console');

// 10x console developer

ログイン後にコピー

仕様により、CSSスタイルのログメッセージが許可されています <code>%c

1

console.log('%i', 12.34455241234324234); // 12

ログイン後にコピー
グループログ

を備えたグループログを簡単に拡張して崩壊させるため:

<code>console.group()

1

console.log('%cPay attention to me','color:firebrick;font-size:40px')

ログイン後にコピー

Beyond Console.log() – Level up Your Debugging Skills デフォルトでグループを拡張せずにグループをネストして使用できます:

<code>console.groupCollapsed()

1

2

3

4

5

6

7

const label = 'The Millenium Falcon Crew';

console.group(label);

console.log('Leia');

console.log('Han');

console.log('Chewie');

console.log('Ben');

console.groupEnd(label);

ログイン後にコピー

Beyond Console.log() – Level up Your Debugging Skills logフィルタリング

、および

を使用して、コンソールサイドバーまたはレベルセレクターを使用してメッセージをフィルタリングして、多数のログで特定の情報を見つけることができます。 <code>console.info() <code>console.error() <code>console.warn()

Beyond Console.log() – Level up Your Debugging Skills その他の便利なコンソールメソッド

および

メソッドは、メソッド呼び出しまたは関数の実行回数をカウントできます:

<code>console.count() <code>console.countReset()

メソッドは、スクリプト実行時間を測定できます:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

const extendedlabel = 'The Millenium Falcon Crew extended';

const meat = 'Humanoids';

const metal = 'Droids';

console.group(extendedlabel);

console.groupCollapsed(meat);

console.log('Leia');

console.log('Han');

console.log('Chewie');

console.log('Ben');

console.groupEnd(meat);

console.group(metal);

console.log('R2D2');

console.log('C3PO');

console.groupEnd(metal);

console.groupEnd(extendedlabel);

ログイン後にコピー

<code>console.time()

データのコンテンツとタイプを表示し、

1

2

3

4

5

6

7

console.count('Chocula'); // Chocula: 1

console.count(); // default: 1

console.count('Chocula'); // Chocula: 2

console.countReset('Chocula');

console.count(); // default: 2

console.count(); // default: 3

console.count('Chocula'); // Chocula: 1

ログイン後にコピー
ノードのXML表現を表示し、

jsonデータをソート可能なテーブルに表示します。 <code>console.dir() <code>console.dirxml()<code>console.table()ログをリアルタイム式に置き換えます

頻繁に変更される値を頻繁に変更することは非効率的です。リアルタイムの表現はこの問題を解決できます。開発者ツールでアイボタンを有効にし、コンソールの上に値が表示される有効なJavaScript式を入力します。

たとえば、

<code>console.log()を入力すると、式はページに現在アクティブ化されている要素が表示されます。

リアルタイムの表現は耐久性があり、特定のドメイン名またはサイトとは何の関係もありません。エラーを回避するために、デバッグが完了した後に削除する必要があります。 <code>document.activeElement

リアルタイム式は、特にマウスの位置などの頻繁に変化する値を変更するために、スクリプトデータの変更を監視するのに最適です。

コンソールを使用して、現在のドキュメントコンソールは、JavaScriptを書き込み、実行し、オートコンプリート機能を使用して現在のドキュメントの利用可能な方法とプロパティを理解できるREPLです。

コンソールは、多くの便利な方法とショートカットも提供しています:

  • <code>$_:最後のコマンドの結果を保存します。
  • <code><code>to
  • :ごく最近チェックされた要素スタック。
  • <code>$()<code>$$()および<code>document.querySelector():それぞれ<code>document.querySelectorAll()および
  • <code>$x()
  • :XPathを使用してDOM要素を選択します。
  • <code>copy()
  • :コンテンツをクリップボードにコピーします。
  • <code>clear()
  • :コンソールをクリアします。
  • <code>getEventListeners(node)
  • :ノードのすべてのイベントリスナーをリストします。
  • <code>monitorEvents(node, events)
  • :ノードでイベントを監視および記録します。
  • <code>monitor(method)
  • :メソッドを呼び出すときにログアイテムを作成します。

コンソールからソースパネルへのコンソールからコンソールのシングルライン環境は、コードの書き込みを制限します。 Multi-Lineスクリプトは、Shift Enterを使用して記述できます。 ソースパネルは、より強力なスクリプト編集環境を提供します。

Developer Toolsコマンドメニュー

コマンドメニュー(Ctrl Shift PまたはCMD Shift P)を使用すると、キーボードを介してすべての開発者ツール機能にアクセスできます。

code snippet

コードスニペットは、ドキュメントと対話するスクリプトを保存する便利な方法です。現在開いているブラウザのドキュメントとコンソールにアクセスする便利な方法があります。

カバレッジ

上書きは、リモートファイルのローカルコピーです。ブラウザ開発者ツールは、リモートファイルをローカルコピーに置き換え、ウェブサイトスタイルのシートを編集したり、パフォーマンステストを実行したりすることができます。

ワークスペース:シンクロナス開発とデバッグタスク

ワークスペースを使用すると、開発者ツールにプロジェクトフォルダーを追加して、開発者ツールとエディターを同期させることができます。 VSコード拡張機能のための

devtools VSコード拡張機能のDevToolsは、Visual Studio Codeとブラウザ開発者ツールを統合し、強力な編集機能とリアルタイムサイトのデバッグを組み合わせて統合します。

次のステップ

ブレークポイントのデバッグを使用することを学ぶことをお勧めします。これは、より効果的なデバッグ方法です。

javaScriptデバッグスキルfaq

(元のテキストのFAQの一部はここで省略されています。これは、コンテンツのこの部分が記事の主なテーマとはほとんど関係がなく、長いため、それを保持すると擬似オリジナルの記事が冗長になるようになります。)

以上がConsole.log()を超えて、デバッグスキルをレベルアップしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

JavaScriptの進化:現在の傾向と将来の見通し JavaScriptの進化:現在の傾向と将来の見通し Apr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptエンジン:実装の比較 JavaScriptエンジン:実装の比較 Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScript:Web言語の汎用性の調査 JavaScript:Web言語の汎用性の調査 Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

C/CからJavaScriptへ:すべてがどのように機能するか C/CからJavaScriptへ:すべてがどのように機能するか Apr 14, 2025 am 12:05 AM

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

See all articles