react は、ユーザー インターフェイスを構築するために Facebook によって発表された、宣言的で効率的かつ柔軟な JavaScript 開発フレームワークであり、サブコンポーネントが外部コンポーネントに直接影響を与えないモデルをプログラマーに提供します。最新の単一ページ アプリケーションにおけるコンポーネント間の明確な分離。 es6 は JavaScript の次期バージョン標準であり、その目標は、JavaScript 言語を複雑な大規模アプリケーションの作成に使用できるようにし、エンタープライズ レベルの開発言語にすることです。
このチュートリアルの動作環境: Windows7 システム、ECMAScript 6&&react18 バージョン、Dell G3 コンピューター。
react とは
react.js は、Facebook がユーザー インターフェイスを構築するために立ち上げた JavaScript 開発フレームワークです。
React は、ユーザー インターフェイスを構築するための宣言的で効率的かつ柔軟な JavaScript ライブラリです。 React を使用すると、短い独立したコード スニペットを組み合わせて複雑な UI インターフェイスを作成できます。これらのコード スニペットは「コンポーネント」と呼ばれます。
React の設計思想は非常にユニークであるため、革命的なイノベーションであり、優れたパフォーマンスを備えており、コード ロジックは非常にシンプルです。そのため、将来の Web 開発の主流のツールになるのではないかと考え、注目し、使用する人が増えています。
#React は、HTML にレンダリングされたデータのビューを提供するオープン ソースの JavaScript ライブラリです。 React ビューは通常、カスタム HTML タグで指定された他のコンポーネントを含むコンポーネントを使用してレンダリングされます。 React は、子コンポーネントが外部コンポーネントに直接影響を与えないモデル、データ変更時の HTML ドキュメントの効率的な更新、最新のシングルページ アプリケーションにおけるコンポーネント間の明確な分離をプログラマーに提供します。
React の利点は次のとおりです:
大規模なアプリケーションにより適しており、テスト容易性が優れています
Web とモバイル ネイティブ APP がすべてを引き受けます
大規模なエコシステム、より多くのサポート、使いやすいツール
中規模および大規模企業に適していますプロジェクト
es6 とは
es6 の正式名は ECMAScript6 (ECMAScript の 6 番目のバージョン) で、2015 年にリリースされました。 2015 年 6 月に正式にリリースされた JavaScript 言語標準は、正式には ECMAScript 2015 (ES2015) と呼ばれます。
ECMAScript 6 は基本的に業界標準になっており、その人気は ES5 よりもはるかに速いです。主な理由は、最新のブラウザ、特に Chrome ブラウザと Firefox ブラウザがすでにほとんどの機能をサポートしているため、非常に早く ES6 をサポートしているためです。 ES6では。
それ以来、ECMA Script は重要な機能を追加するメジャー バージョン (ES6 と呼ばれます) を毎年リリースしてきました。
ES と JS の関係を理解する
ES = ECMAScript は動的スクリプト言語の「標準」、JS = JavaScript ES の標準、デフォルト、および主流の「実装」です。商標権の問題により、欧州コンピュータ協会によって策定された言語標準は JS と呼ぶことはできず、ES とのみ呼ぶことができます。
の目的新しい ES6 標準は次のとおりです。JS は大規模な Web アプリケーションの開発に使用でき、エンタープライズ レベルの開発言語になります。エンタープライズ レベルの開発言語は、モジュール開発に適しており、依存関係の管理が優れています。
ES6 を学ぶ必要がある理由は何ですか? ES6 は何に使用されますか?
ES5 は、フロントエンドが複雑化、巨大化する現状に対応できず、時代遅れとも言えますが、ES6 は ES5 を強化し、アップグレードしたものです。
1. 主流のブラウザは ES6 を完全にサポートしています
2. 業界の新しいフロントエンド フレームワークは ES6 構文を完全に使用しています
3. WeChat アプレット、ユニアプリ、 etc are all based on ES6 syntax
4. 採用から始めて、中小企業、フルスタック、履歴書にもう 1 つのスキル、試用期間も早く始めることができます。
変数
-
let
スコープ内で宣言できる let 変数は 1 つだけです。子 let 変数がスコープ内でも宣言されている場合、親スコープ内の let 変数には影響しません。 -
var
1 つのスコープ内で複数の var 変数を宣言できます。子スコープでも var 変数を宣言すると、親スコープの var 変数にも影響します。 -
const
定数 (final と同等) は変更できません。 -
global
変数の型を宣言していない変数は、デフォルトでグローバル変数 (ウィンドウ属性) になります。
#オブジェクト指向
-
原則
JavaScript のオブジェクト指向機能はプロトタイプとコンストラクターに基づいており、クラスに基づく一般的な機能とは異なります。 JavaScript はオブジェクト継承の言語レベルの機能を提供しませんが、プロトタイプのコピーを通じて提供します。 - オブジェクトを作成する 3 つの方法
1. {pojo}(实例变量、实例方法、get、set) 2. function(实例变量、实例方法、prototype、apply、call) 3. class(实例变量、实例方法、prototype、extends、super)
プロトタイプ
関数とクラスのみプロトタイプのみが存在し、その意義はインスタンス変数やインスタンスメソッドを動的に追加し、継承を実装することにあります。
#継承
- ##call/apply
-
継承関係では、サブクラスが親に適用されます。このキーワードは、クラス
#extends - でパラメータを渡すときに使用する必要があります。継承関係で使用されます。A は B を拡張し、A は B# の親クラスになります。 ##super
サブクラスで親クラスを呼び出すメソッドはキーワードを使用します。 -
## ES5 継承メソッド
# Next (プロトタイプ継承) コンストラクター継承 (継承されたプロパティ))。この方法により、プロトタイプチェーン継承で多重継承が実装できない、サブクラスのインスタンス作成時に親クラスのコンストラクターにパラメータを渡せない、コンストラクターでプロトタイプのプロパティ/メソッドを継承できないというデメリットを回避できます。継承。 -
function Person(name,age){ /* 父类 */ this.name = name || 'father'; //实例变量 this.namesonF = this.nameson; this.age = age; this.talk = function(){alert("talk");}; //实例方法 }; function Son(name){ /* 子类 */ this.nameson = name || 'son'; // Person.call(this,'name',18); //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法 Person.apply(this,['name',18]); //继承:构造继承,复制父类的实例属性给子类,不能继承原型属性/方法 } // Son.prototype = new Person("zhangsan",19); //继承:原型链继承,父类的实例作为子类的原型,拷贝属性两次,不合理 Son.prototype = Person.prototype; //继承:原型链继承,父类的实例作为子类的原型 Person.prototype.publicParam="param1"; //动态添加实例变量 Person.prototype.talk=function(){alert("talk");} //动态添加实例方法 var son = new Son(); //实例化对象,调用构造函数(constructor)
ES6 継承メソッド
- ES6 継承は、Java、Scala、その他の言語に非常によく似た新しい記述方法を作成し、結合された継承を使用します。デフォルトでは (プロトタイプチェーンの継承 (プロトタイプの継承) コンストラクトの継承 (プロパティの継承))。
-
class Point { constructor(x, y) { this.x = x; //实例变量 this.y = y; } } class Son extends Point { constructor(z, w) { super(z,w); this.z = z; //实例变量 this.w = w; } } var son = new Son(1,2);
アロー関数
アロー関数は ES6 で追加された新しい構文で、Java のラムダやスカラの関数式に似ています。構文は非常によく似ています
#codevar single = a => console.log(a); var single = (a) => (console.log(a)); var single = (a, b) => {console.log(a + b)}; var single = (a, b) => {return a + b};
テンプレート文字列、文字列連結の新しい構文コード
var templateStr = () => { var str1 = "adsf\nsdfa"; var template1 = `<ul><li>first</li> <li>second</li></ul>`; var x = 1; var y = 2; var template2 = `${x} + ${y} = ${x + y}`; var template3 = `${lettest4()}`; console.log(str1) console.log(template1) console.log(template2) console.log(template3) }
- 構造解除
コード
var destructuring = () => { var [a,b,...c]=[1,2,3,4,5,6,7,8,9,10]; let [temp="replaceString"] = ["tempString"]; let [age2, [{name: fname},{age: fname2="replaceString"}]] = [20, [{name: 'qc'},{}]]; const [aa,bb,cc,dd,ee,ff]="hello"; let {name="replaceName",age,id}={name:'cursor',age:19,id:'vc6dfuoc91vpdfoi87s'}; let {type:tipType,min:minNumber}={type:'message',min:20}; let {sin,cos,tan,log}=Math; var fun = function({x,y}={}){return [x,y];} fun({x:100,y:2}); [a,b]=[b,a]; //交换 var map = [1,2,3] var map=new Map(); map.set("id","007"); map.set("name","cursor"); for(let [key,value] of map){} for(let [key] of map){} for(let [,value] of map){} var arr = [1,2,3,4] for(let val of arr){val} }
- 引数
##コード
function argumentsTest(a,b) { for(let val of arguments) {console.log(val) } }
[関連する推奨事項 :
JavaScript ビデオ チュートリアル- 、
- プログラミング ビデオ ]
以上がReact と es6 とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

在react中,canvas用于绘制各种图表、动画等;可以利用“react-konva”插件使用canvas,该插件是一个canvas第三方库,用于使用React操作canvas绘制复杂的画布图形,并提供了元素的事件机制和拖放操作的支持。

React不是双向数据流,而是单向数据流。单向数据流是指数据在某个节点被改动后,只会影响一个方向上的其他节点;React中的表现就是数据主要通过props从父节点传递到子节点,若父级的某个props改变了,React会重渲染所有子节点。

在react中,antd是基于Ant Design的React UI组件库,主要用于研发企业级中后台产品;dva是一个基于redux和“redux-saga”的数据流方案,内置了“react-router”和fetch,可理解为应用框架。

因为在react中需要利用到webpack,而webpack依赖nodejs;webpack是一个模块打包机,在执行打包压缩的时候是依赖nodejs的,没有nodejs就不能使用webpack,所以react需要使用nodejs。

react是组件化开发;组件化是React的核心思想,可以开发出一个个独立可复用的小组件来构造应用,任何的应用都会被抽象成一颗组件树,组件化开发也就是将一个页面拆分成一个个小的功能模块,每个功能完成自己这部分独立功能。

react和reactdom的区别是:ReactDom只做和浏览器或DOM相关的操作,例如“ReactDOM.findDOMNode()”操作;而react负责除浏览器和DOM以外的相关操作,ReactDom是React的一部分。

在react中,forceupdate()用于强制使组件跳过shouldComponentUpdate(),直接调用render(),可以触发组件的正常生命周期方法,语法为“component.forceUpdate(callback)”。

react中没有双向绑定;react的设计思想就是单向数据流,没有双向绑定的概念;react是view层,单项数据流只能由父组件通过props将数据传递给子组件,满足了view层渲染的要求并且更易测试与控制,所以在react中没有双向绑定。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

WebStorm Mac版
便利なJavaScript開発ツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック



