検索
ホームページウェブフロントエンドVue.jsインタビュアーは突然「Vue2 と Vue3 の違いは何ですか?」と尋ねました。

まえがき

現在、フロントエンドが死んだというとんでもない噂がネット上で流れていますが、実はその本質的な理由は、人員が増えて役職が減り、それが原因であるということです。競争圧力の増大につながった。

私たちには社会に存在する問題を解決する方法はありませんが、競争力を高めるために自分たちから始めることはできます。

複数の人がポジションを争う場合、彼らは 1 位だけを求めているため、実際には 2 位と最下位に差はありません。

したがって、すべての質問に 100 点で答えることが非常に重要です。

「たった一つの質問が面接官を混乱させる」を書いた理由もこれです。

このトピックは、誰もが各質問で 100 点を獲得し、最短時間で面接官を「征服」できるようにすることを目的としています。手にした面接のチャンスを大切にして、皆さんも一日も早く高収入で好きな会社に入社してください。

「vue2とvue3の違いは?」と聞かれたらどう答えるべきか

Vue 内部的には関数に基づいています: 応答性reactivite、ランタイムruntime、エディタコンパイラー##の3つの大きなモジュールに分割できます。 #、およびいくつかの小さな関数ポイント。したがって、vue2vue3 の違いについて説明するには、これら 3 つの側面から始めて、より小さな機能ポイントを追加する必要があります。

まず第一に、

応答性reactivite:

vue2の応答性は主にに依存します。 Object.defineProperty 実装ですが、Object.defineProperty は ## の指定されたプロパティの getter 動作と setter 動作 のみを監視できます。 #specified object, then これにより、場合によっては問題が発生する可能性があります。 ######どうしたの? 例:

data

でオブジェクト

person

を宣言しましたが、後で person に新しい属性を追加すると、この新しいプロパティの応答性が失われます。 。この問題を解決するのは実際には非常に簡単で、Vue.$set メソッドを使用して、指定されたオブジェクトの指定された属性の 応答性 を向上させることができます。しかし、Vue の自動応答機構では、そのような方法は無理があります。 したがって、Vue3 では、

Vue

でリフレクションとプロキシの概念が導入されています。いわゆるリフレクションとは、Reflect を指します。呼び出されるプロキシは Proxy を指します。 Proxy を使用すると、共通オブジェクトを直接プロキシし、プロキシ インスタンス プロキシ オブジェクトを取得できます。 vue3 では、このプロセスは reactive メソッドを通じて実装されます。 ただし、proxy はプロキシの複雑なデータ型のみを実装できるため、

vue

は、単純なデータ型の性別の応答を処理する追加の ref メソッドを提供します。 ref 本質的には、データを監視するのではなく、set および get ## を通じて # とマークされた RefImpl クラスを構築します。 value このようにして関数が実装されます。したがって、ref.value を通じてトリガーされる必要があります。これの本質は、value メソッド を呼び出すことです。 次は runtimeruntime

:

いわゆるランタイムです。ほとんどの場合、renderer renderer を指します。レンダラーは本質的にオブジェクトであり、3 つの主要な内部メソッド render、ハイドレート、createApp

を備えています。そのうち

render は主にレンダリング ロジックを処理し、ハイドレート は主にサービスを処理します。 レンダリングの終了createAppvue インスタンスを作成するメソッドです。 ここでは主に render レンダリング関数 について説明します。ホスト環境とレンダリング ロジックを確実に分離するために、ホスト環境に関連するすべてのロジックは vue3 に抽出されます。

分離され、インターフェイスの形式で渡されます。この目的は実際には、ホスト環境とレンダリング ロジックのバインドを解除して、

vue がブラウザ以外のホスト環境で正常にレンダリングできるようにすることです。 さらに下には Editorcompiler

があります:

vuecompiler

は実際には ## です#DSL (特定のドメインの専用言語エディタ)

。その目的は、template テンプレートrender 関数にコンパイルすることです。ロジックは主に、解析、変換、生成という 3 つの主要なステップに分かれています。 parse の機能は、templateAST (抽象構文ツリー) に変換することです。transform は、AST (抽象構文ツリー) を変換できます。ツリー) 構文ツリー) JavaScript AST に変換され、最後に generateJavaScript ASTrender 関数 に変換します。変換プロセスには、有限自動ステート マシンなどの少し複雑な概念が含まれますが、ここでは説明しません。

さらに、他にもいくつかの変更があります。たとえば、vue3 の新しい composition API です。 composition API は、vue3.0vue3.2 でいくつかの異なるプレゼンテーションを持ちます。たとえば、元の composition API は # で始まります。 ##setup この関数はエントリ関数として機能します。 setup この関数は 2 種類の値を返さなければなりません: 1 つ目はオブジェクト、2 つ目は関数です。

setup 関数がオブジェクトを返すと、オブジェクト内のデータまたはメソッドを template で使用できます。 setup 関数が関数を返す場合、その関数は render 関数として扱われます。

しかし、この

setup 関数の形式は良くありません。すべてのロジックが setup 関数に集中しており、巨大な ## が発生しやすいからです。 #setup 関数。これを Boulder (Shit Mountain) 関数と呼びます。そのため、vue 3.2 では、この問題を解決するために、script setup という新しい構文シュガーが追加されました。現時点では、スクリプトのセットアップのプレゼンテーションはまだ非常に優れています。 さらに、

フラグメント、テレポート、サスペンス

などの小さな変更がいくつかあります。詳細については説明しません...推奨される学習: 《

vue.js ビデオ チュートリアル

以上がインタビュアーは突然「Vue2 と Vue3 の違いは何ですか?」と尋ねました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はjuejinで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
React and Netflix:関係を探るReact and Netflix:関係を探るApr 26, 2025 am 12:11 AM

NetflixはReactを使用してユーザーエクスペリエンスを強化します。 1)Reactのコンポーネント機能は、Netflixが複雑なUIを管理可能なモジュールに分割するのに役立ちます。 2)Virtual DomはUIの更新を最適化し、パフォーマンスを向上させます。 3)ReduxとGraphQLを組み合わせて、Netflixはアプリケーションのステータスとデータフローを効率的に管理します。

vue.js vs.バックエンドフレームワーク:区別を明確にしますvue.js vs.バックエンドフレームワーク:区別を明確にしますApr 25, 2025 am 12:05 AM

Vue.jsはフロントエンドフレームワークであり、バックエンドフレームワークはサーバー側のロジックを処理するために使用されます。 1)VUE.JSは、ユーザーインターフェイスの構築に焦点を当て、コンポーネントおよびレスポンシブデータバインディングを介して開発を簡素化します。 2)ExpressやDjangoなどのバックエンドフレームワークは、HTTPリクエスト、データベース操作、ビジネスロジックを処理し、サーバーで実行します。

vue.jsとフロントエンドスタック:接続の理解vue.jsとフロントエンドスタック:接続の理解Apr 24, 2025 am 12:19 AM

VUE.JSは、開発効率とユーザーエクスペリエンスを向上させるために、フロントエンドテクノロジースタックと密接に統合されています。 1)建設ツール:Webpackおよびロールアップと統合して、モジュール開発を実現します。 2)国家管理:VUEXと統合して、複雑なアプリケーションステータスを管理します。 3)ルーティング:Vuerouterと統合して、単一ページのアプリケーションルーティングを実現します。 4)CSSプリプロセッサ:SASSをサポートし、スタイル開発効率を改善するために少なくなります。

Netflix:React(またはその他のフレームワーク)の使用の調査Netflix:React(またはその他のフレームワーク)の使用の調査Apr 23, 2025 am 12:02 AM

Netflixは、Reactのコンポーネント設計と仮想DOMメカニズムが複雑なインターフェイスと頻繁な更新を効率的に処理できるため、ユーザーインターフェイスを構築するためにReactを選択しました。 1)コンポーネントベースの設計により、Netflixはインターフェイスを管理可能なウィジェットに分解し、開発効率とコード保守性を向上させることができます。 2)仮想DOMメカニズムは、DOM操作を最小化することにより、Netflixユーザーインターフェイスの滑らかさと高性能を保証します。

vue.jsとフロントエンド:フレームワークに深く飛び込むvue.jsとフロントエンド:フレームワークに深く飛び込むApr 22, 2025 am 12:04 AM

Vue.jsは、使いやすく強力なため、開発者に愛されています。 1)そのレスポンシブデータバインディングシステムは、ビューを自動的に更新します。 2)コンポーネントシステムは、コードの再利用性と保守性を向上させます。 3)コンピューティングプロパティとリスナーは、コードの読みやすさとパフォーマンスを向上させます。 4)Vuedevtoolsの使用とコンソールエラーのチェックは、一般的なデバッグ手法です。 5)パフォーマンスの最適化には、主要な属性、計算された属性、およびキープアライブコンポーネントの使用が含まれます。 6)ベストプラクティスには、クリアコンポーネントの命名、単一ファイルコンポーネントの使用、ライフサイクルフックの合理的な使用が含まれます。

フロントエンドのvue.jsの力:主要な機能と利点フロントエンドのvue.jsの力:主要な機能と利点Apr 21, 2025 am 12:07 AM

Vue.jsは、効率的で保守可能なフロントエンドアプリケーションを構築するのに適した進歩的なJavaScriptフレームワークです。その主な機能には、1。レスポンシブデータバインディング、2。コンポーネント開発、3。仮想DOM。これらの機能を通じて、VUE.JSは開発プロセスを簡素化し、アプリケーションのパフォーマンスと保守性を向上させ、最新のWeb開発で非常に人気を博しています。

Vue.jsはReactよりも優れていますか?Vue.jsはReactよりも優れていますか?Apr 20, 2025 am 12:05 AM

Vue.jsとReactにはそれぞれ独自の利点と欠点があり、選択はプロジェクトの要件とチームの条件に依存します。 1)Vue.jsは、シンプルで使いやすいため、小さなプロジェクトや初心者に適しています。 2)Reactは、その豊富な生態系とコンポーネント設計のため、大規模なプロジェクトと複雑なUIに適しています。

Vue.jsの関数:フロントエンドでのユーザーエクスペリエンスの強化Vue.jsの関数:フロントエンドでのユーザーエクスペリエンスの強化Apr 19, 2025 am 12:13 AM

Vue.jsは複数の機能を介してユーザーエクスペリエンスを改善します。1。レスポンシブシステムは、リアルタイムデータフィードバックを実現します。 2。コンポーネント開発により、コードの再利用性が向上します。 3. Vuerouterはスムーズなナビゲーションを提供します。 4.動的データの結合および遷移アニメーションは、相互作用効果を強化します。 5.エラー処理メカニズムにより、ユーザーのフィードバックが保証されます。 6.パフォーマンスの最適化とベストプラクティスは、アプリケーションのパフォーマンスを改善します。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

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