apeescape2.com
  • メイン
  • 投資家と資金調達
  • ライフスタイル
  • プロジェクト管理
  • 人とチーム
バックエンド

ApeeScapeの迅速で実用的なJavaScriptチートシート:ES6以降

ECMAScript 6 (ES6)はの最新の標準仕様です JavaScript 、Webのプログラミング言語。以来 HTML5 との誕生 Node.js 、実行を可能にするランタイム JavaScript サーバーまたはデスクトップでは、JavaScriptは独自の勢いを得ています。企業間で採用率が高まり、本番環境に採用されているため、最新の機能が待望されていました。

このチートシートは、私たちが日常的に使用しているES6機能のリストとして作成しました。包括的であると同時に簡潔にするために、新しいAPIメソッドは残されています。それらを必要とする人のために、あなた自身で簡単な検索をするか、探検してみてください MDNドキュメント 最新の実験的なAPIをキャッチします。ただし、asyncのようないくつかの最も最先端の特性およびawait次の仕様ドラフト(ES7)から含まれています。これは、私たちのほとんどの開発者が バベルのようなトランスパイラー とにかく最新のJavaScriptを利用するために。

次のコマンドでノードREPLを実行することにより、前述のヒントのいくつかをテストできます。



node --use-strict $(node --v8-options | grep harm | awk '{print }' | xargs) #ES6

または、直接使用する バベルノード コンソールでJavascriptを最大限に活用します。

関連: ApeeScape開発者による実用的なCSSチートシート

JavaScriptES6チートシートをダウンロードする

JavaScript ES6チートシートをダウンロードするには、ここをクリックしてください

JavaScript(ES6以降)のチートシート

定数

対var

> const EULER = 2.7182818284
>オイラー= 13
>オイラー
> 2.7182818284

>変数平均= 5
>変数平均=(平均+ 1)/ 2
>平均
> 3
> let value = ‘hello world’
> let value =「何が新しいか」
//-> TypeErrorをスローします:識別子 '値'はすでに宣言されています

警告!配列またはオブジェクトの場合、参照は一定に保たれます。定数がオブジェクトへの参照である場合でも、コンテンツを変更することはできますが、変数を変更することはできません。

> const CONSTANTS = []
> CONSTANTS.push(EULER)
>定数
> [2.7182818284]
>定数= {‘オイラー’:2.7182818284}
>定数
> [2.7182818284]

注意してください 一時的なデッドゾーン :

> console.log(val)//-> '未定義'
> var val = 3
> console.log(val)
//-> 3

それは以下と同等であるため:

2進数、8進数、16進数の表記

>選択でした
> console.log(val)
> val = 3
> console.log(val)

> 0b1001011101// 605
> 0o6745// 3557
> 0x2f50a// 193802

次のうちどれが広告がどのように配置されるべきかを導く原則ですか?

'let / const'で宣言された変数は、引き上げられません。

新しいタイプ

> console.log(val)
//-> ReferenceErrorをスローします
> val = 3とします
> console.log(val)
//-> 3

シンボル、マップ、WeakMapsおよびセット

矢印機能

新しいスコープ関数

> setTimeout(()=> {
… console.log( ‘delayed’)
… }、1000)

> {
…キュー= 'ルーク、私はあなたの父です'
… console.log(cue)
… }
>「ルーク、私はあなたの父です」

匿名関数と同等

即時呼び出し関数式(IIFE)と同等

> setTimeout(function(){
… console.log( ‘delayed’)
… } .bind(this)、1000)

>> (関数 () {
… var cue = 'ルーク、私はあなたの父です'
… console.log(cue) // 'ルーク、私は–
… }())
> console.log(cue)
//参照エラー

オブジェクト表記のノベルティ

テンプレートリテラルのおかげで文字列補間

//計算されたプロパティ
> let key = new Date()。getTime()
> let obj = {[key]:“ value”}
> obj
> {'1459958882881': '値'}

//オブジェクトリテラル
バルーン= {色、サイズ};

// と同じ
バルーン= {
色:色、
サイズ:サイズ

}

//より良いメソッド表記
obj = j
foo(a、b){… }、
バー(x、y){… }
}

> const name = 'タイガー'
>定数年齢= 13
>>
console.log( `私の猫は$ {name}という名前で、$ {age}歳です。`)
>私の猫はタイガーという名前で13歳です。

//改行を保持できます…
しましょうテキスト=( `猫
犬
ニコロデオン
)

デフォルトのパラメータ

> function howAreYou(answer = ‘ok’){
console.log(answer) //多分'OK'
}

約束

クラス、継承、セッター、ゲッター

new Promise((resolve、reject)=> {
request.get(url、(error、response、
本体)=> {
if(body){
resolve(JSON.parse(body));
} そうしないと {
resolve({});
}
})
})。then(()=> {...})
.catch((err)=> throw err)

//タスクを並列化します
Promise.all([
promise1、promise2、promise3
])。then(()=> {
//すべてのタスクが終了しました
})

クラスRectangleはShape {を拡張します
コンストラクター(id、x、y、w、h){
スーパー(id、x、y)
this.width = w
this.height = h
}
//ゲッターとセッター
幅を設定(w){this._width = w}
get width(){return this._width}
}

クラスCircleはShapeを拡張します{
コンストラクター(id、x、y、radius){
スーパー(id、x、y)
this.radius = radius
}
do_a(バツ) {
a = 12とします。
super.do_a(x + a);
}
static do_b(){...}
}
Circle.do_b()

配列の破壊

オブジェクトの破壊

> let [a、b、c、d] = [1、2、3、4];
> console.log(a);

> 1
> b
> 2

> let luke = {職業: 'ジェダイ'、
父: 'アナキン'}
> {職業、父親} =ルーク
> console.log(職業、父親)

>ジェダイアナキン

スプレッド演算子

...上司のように破壊する

//配列をカンマ区切りに変換します
//値など
>関数ロガー(... args){
console.log( ‘%s引数’、
args.length)
args.forEach(console.log)
// arg [0]、arg [1]、arg [2]
}

> const [猫、犬、...魚] = [
「シュレーディンガー」、「ライカ」、「ネモ」、「ドリ」]
>魚//-> [‘Nemo’、 ‘Dori’]

またはより良いプッシュを行う

...そして将来のES7の破壊

> arr = [1、2、3]とします
> [... arr、4、5、6]
> [1、2、3、4、5、6]

{a、b、... rest} = {a:1、b:2、c:3、d:4}

非同期ES7

ES7を待つ

非同期関数シュレディンガー(){
新しいPromise((resolve、reject)を返す
=> {
const result = Math.random> 0.5
setTimeout(()=> {
結果を返しますか? resolve( ‘alive’)
:reject( ‘dead’)
})
})
}

{を試してください
console.log(schrodinger()を待つ)
//->「生きている」
} catch(err){
console.log(err)
//->「死んだ」
}

ES7をエクスポート

ES7のインポート

エクスポート関数sumTwo(a、b){
a + bを返します。
}
export const EULER = 2.7182818284
let stuff = {sumTwo、EULER}
エクスポート{デフォルトとしてのもの}

「react」からReactをインポートする
‘./myexports’から{EULER}をインポートします
インポート*を「./myexports」からのものとして
// に相当
「./myexports」からインポートします
// {sumTwo、EULER}

発電機

彼ら反復プロトコルを実装するオブジェクトを返します。つまり、{value:、done:}を返すnext()メソッドがあります。。

function * incRand(max){//アスタリスクはこれをジェネレーターとして定義します
while(true){
//譲歩後に実行を一時停止し、再開します

// next()が呼び出されたとき
//そしてxに割り当てます
x = yield Math.floor(Math.random()* max + 1);
最大+ = x;
}
}

> var rng = incRand(2)//ジェネレータオブジェクトを返します
> rng.next()// {値:、完了:false}
> rng.next(3)//上記と同じですが、1から5の間です
> rng.next()// 5+未定義の結果がNaNになるためNaN
> rng.next(20)//誰もNaNを再び期待していませんか?

> rng.throw(new Error( 'Unrecoverable generator state。'))
// yieldからスローされます

関連: スピードの必要性:ApeeScapeJavaScriptコーディングチャレンジの回顧展

スケッチとルーパーで素晴らしいイラストをすぐに作成

ツールとチュートリアル

スケッチとルーパーで素晴らしいイラストをすぐに作成
エンタープライズナビゲーション:利害関係者のコラボレーションのための設計方法論

エンタープライズナビゲーション:利害関係者のコラボレーションのための設計方法論

仕事の未来

人気の投稿
破壊的時代におけるデジタルバンキングのイノベーション
破壊的時代におけるデジタルバンキングのイノベーション
SQLウィンドウ関数の概要
SQLウィンドウ関数の概要
AWSでのTerraformによるダウンタイムゼロのJenkins継続的デプロイ
AWSでのTerraformによるダウンタイムゼロのJenkins継続的デプロイ
これらのPhotoshopチュートリアルでこれらの人気のあるトレンドをマスターする
これらのPhotoshopチュートリアルでこれらの人気のあるトレンドをマスターする
デザインニュース-世界中からのイノベーション
デザインニュース-世界中からのイノベーション
 
WebVRパート4:キャンバスデータの視覚化
WebVRパート4:キャンバスデータの視覚化
ファミリーオフィス投資ガイド:ベンチャーキャピタルの代替案
ファミリーオフィス投資ガイド:ベンチャーキャピタルの代替案
初心者のための暗号通貨:ビットコインとそれ以降
初心者のための暗号通貨:ビットコインとそれ以降
知恵の真珠-誰も読まない最高の株主の手紙
知恵の真珠-誰も読まない最高の株主の手紙
VanillaJSでのReactとJSXのエミュレート
VanillaJSでのReactとJSXのエミュレート
人気の投稿
  • コードの依存関係は何ですか
  • コホート分析の方法
  • asp.netコアWebAPIチュートリアル
  • 出会い系サイトはどのようにお金を稼ぐのですか
  • AWS認定を勉強するための最良の方法
  • / c /とは
カテゴリー
製品ライフサイクル アジャイル トレンド モバイル プロセスとツール エンジニアリング管理 設計プロセス 計画と予測 収益性と効率性 ツールとチュートリアル

© 2021 | 全著作権所有

apeescape2.com