[AVAScript-構文]ES 6構文
37942 ワード
ES6
1.オブジェクトイニシエータ
オブジェクトのkeyとvalueの値が同じであれば、記述を省略できます.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Object_initializer
2.分配構造分解
オブジェクトにアクセスするキーと値.nameでアクセスする場合、構造分解を使用してカッコでオブジェクトキー名{}を定義し、=studentと記入すると、スチュワートの値はname、levelにそれぞれ割り当てられます.
別の名前で発表したいなら
新しい名前の作成:必要な名前をコロンで宣言します.
配列にも使用でき、indexを使用して配列にアクセスできます.
もちろん、配列を使用する場合は[]カッコを使用します.
3.Spread Syntax
新しい配列を作成し、配列内の各項目をコピーします.
spreadを用いて
つまり、
新しいアイテムを追加するとき...array syntaxを使用して、追加したいアイテムを作成します.
オブジェクトはリファレンスのみをコピーするため、エクスパンダを使用して元の値を変更すると、すべてのオブジェクトが変更されますので、注意してください.
オブジェクトをコピーするために使用することもできます.
2つの配列をコピーしてインポートしてマージする方法で、2つ以上の配列をマージできます.
マージ時には、鍵が同じ場合、一番後ろの鍵が前の鍵を上書きすることに注意してください.
4.Default parameters
パラメータを持つ関数を定義すると、関数を呼び出すときにパラメータが呼び出されない場合、undefinedが表示されます.これを防止するにはif文でデバッガメッセージを出力する必要がありますが、デバッガパラメータを使用すると、パラメータの後にデフォルト値を指定して設定したデバッガ値を出力し、コードをよりきれいにすることができます.
5. Ternary Operator
例のisCat変数がtrueかfalseかで構成部品をクリーンアップする場合は、次の操作を行います.
文処理を使用する場合は、Ternary Operatorを使用してコード記述を簡略化できます.
6. Template Literals
カッコ、ドル記号、カッコを使用して、変数と文字列を簡単に表すことができます.
7.const/letブロックスキャン
varの変数スキャンは関数単位で、
const/letはブロック単位です.
constは定数であり、letは変数を宣言するために使用されます.
変数を宣言するときにvar、let、constを使用できます.通常はvarが好きではありません.これはvarが向上した特性のためです.
護衛とはvar宣言や関数宣言などをその標的の一番前にドラッグするように動作する特性である.
プロトタイプベースの代替材料として使用
クラスは、オブジェクト向けプログラミングで特定のオブジェクトを作成するために変数とメソッドを定義するフレームワークで、オブジェクトのステータス(メンバー変数)とメソッド(関数)を定義します.簡単に言えば、様々なオブジェクトを作るための青写真と考えられる.
データ非同期要求に関連する転送の表示
1.オブジェクトイニシエータ
オブジェクトのkeyとvalueの値が同じであれば、記述を省略できます.
{
const ellie1 = {
name: 'Ellie',
age: '18',
};
const name = 'Ellie';
const age = '18';
// 💩
const ellie2 = {
name: name,
age: age,
};
// ✨
const ellie3 = {
name,
age,
};
console.log(ellie1, ellie2, ellie3);
console.clear();
}
どちらも同じ結果を得た.https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Object_initializer
2.分配構造分解
オブジェクトにアクセスするキーと値.nameでアクセスする場合、構造分解を使用してカッコでオブジェクトキー名{}を定義し、=studentと記入すると、スチュワートの値はname、levelにそれぞれ割り当てられます.
別の名前で発表したいなら
新しい名前の作成:必要な名前をコロンで宣言します.
配列にも使用でき、indexを使用して配列にアクセスできます.
もちろん、配列を使用する場合は[]カッコを使用します.
// object
const student = {
name: 'Anna',
level: 1,
};
// 💩
{
const name = student.name;
const level = student.level;
console.log(name, level);
}
// ✨
{
const { name, level } = student;
console.log(name, level);
const { name: studentName, level: studentLevel } = student;
console.log(studentName, studentLevel);
}
// array
const animals = ['🐶', '😽'];
// 💩
{
const first = animals[0];
const second = animals[1];
console.log(first, second);
}
// ✨
{
const [first, second] = animals;
console.log(first, second);
}
console.clear();
}
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment 3.Spread Syntax
新しい配列を作成し、配列内の各項目をコピーします.
spreadを用いて
...array
配列を簡単にコピーすることができる.つまり、
...array
とは、並べられたものを一つ一つコピーして、単独で持ってくることを意味する.新しいアイテムを追加するとき...array syntaxを使用して、追加したいアイテムを作成します.
オブジェクトはリファレンスのみをコピーするため、エクスパンダを使用して元の値を変更すると、すべてのオブジェクトが変更されますので、注意してください.
オブジェクトをコピーするために使用することもできます.
2つの配列をコピーしてインポートしてマージする方法で、2つ以上の配列をマージできます.
マージ時には、鍵が同じ場合、一番後ろの鍵が前の鍵を上書きすることに注意してください.
{
const obj1 = { key: 'key1' };
const obj2 = { key: 'key2' };
const array = [obj1, obj2];
// array copy
const arrayCopy = [...array];
console.log(array, arrayCopy);
const arrayCopy2 = [...array, { key: 'key3' }];
obj1.key = 'newKey';
console.log(array, arrayCopy, arrayCopy2);
// object copy
const obj3 = { ...obj1 };
console.log(obj3);
// array concatenation
const fruits1 = ['🍑', '🍓'];
const fruits2 = ['🍌', '🥝'];
const fruits = [...fruits1, ...fruits2];
console.log(fruits);
// object merge
const dog1 = { dog: '🐕' };
const dog2 = { dog: '🐶' };
const dog = { ...dog1, ...dog2 };
console.log(dog);
console.clear();
}
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax 4.Default parameters
パラメータを持つ関数を定義すると、関数を呼び出すときにパラメータが呼び出されない場合、undefinedが表示されます.これを防止するにはif文でデバッガメッセージを出力する必要がありますが、デバッガパラメータを使用すると、パラメータの後にデフォルト値を指定して設定したデバッガ値を出力し、コードをよりきれいにすることができます.
{
// 💩
{
function printMessage(message) {
if (message == null) {
message = 'default message';
}
console.log(message);
}
printMessage('hello');
printMessage();
}
// ✨
{
function printMessage(message = 'default message') {
console.log(message);
}
printMessage('hello');
printMessage();
}
console.clear();
}
/**
* Ternary Operator
* https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
*/
{
const isCat = true;
// 💩
{
let component;
if (isCat) {
component = '😸';
} else {
component = '🐶';
}
console.log(component);
}
// ✨
{
const component = isCat ? '😸' : '🐶';
console.log(component);
console.log(isCat ? '😸' : '🐶');
}
console.clear();
}
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters 5. Ternary Operator
例のisCat変数がtrueかfalseかで構成部品をクリーンアップする場合は、次の操作を行います.
文処理を使用する場合は、Ternary Operatorを使用してコード記述を簡略化できます.
{
const isCat = true;
// 💩
{
let component;
if (isCat) {
component = '😸';
} else {
component = '🐶';
}
console.log(component);
}
// ✨
{
const component = isCat ? '😸' : '🐶';
console.log(component);
console.log(isCat ? '😸' : '🐶');
}
console.clear();
}
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_Operator 6. Template Literals
カッコ、ドル記号、カッコを使用して、変数と文字列を簡単に表すことができます.
${}
{
const weather = '🌤';
const temparature = '16°C';
// 💩
console.log(
'Today weather is ' + weather + ' and temparature is ' + temparature + '.'
);
// ✨
console.log(`Today weather is ${weather} and temparature is ${temparature}.`);
}
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals 7.const/letブロックスキャン
varの変数スキャンは関数単位で、
const/letはブロック単位です.
constは定数であり、letは変数を宣言するために使用されます.
変数を宣言するときにvar、let、constを使用できます.通常はvarが好きではありません.これはvarが向上した特性のためです.
護衛とはvar宣言や関数宣言などをその標的の一番前にドラッグするように動作する特性である.
function foo() {
let a = 1
if (true) {
let a = 2
console.log(a) // 2
}
console.log(a) // 1
}
8. Classプロトタイプベースの代替材料として使用
クラスは、オブジェクト向けプログラミングで特定のオブジェクトを作成するために変数とメソッドを定義するフレームワークで、オブジェクトのステータス(メンバー変数)とメソッド(関数)を定義します.簡単に言えば、様々なオブジェクトを作るための青写真と考えられる.
class Shape {
constructor() {}
}
class Rectangle extends Shape {
constructor(w, h) {
super(w, h)
this.w = 20
this.h = 10
}
getArea(w, h) {
return w * h
}
// get, set, static 예약어로 메서드를 설정할 수 있음
}
let rect = new Rectangle()
console.log(rect.getArea(30, 20)) // 600
Arrow function// #1: 일반적인 화살표 함수
let square = (num) => {
return num * num
}
console.log(square(4)) // 16
// #2: 화살표 내의 this는 ES5의 function 내의 this와 다름
console.log(this === window) // true
let basket = {
_name: "ball",
_mates: ["rebound", "shoot", "pass"],
matesCount() {
console.log(this === window) // false
console.log(this) // basket 객체를 가리킴
this._mates.forEach(f => console.log(this._name + " is " + f ))
}
}
basket.matesCount()
// #3: 화살표 함수의 return 값
const even = [2, 4, 6, 8, 10, 12, 14]
const odd = even.map(n => n + 1)
const num = even.map((n, i) => n + i) // map(crruentValue, index, array)
console.log(even) // [2, 4, 6, 8, 10, 14]
console.log(odd) // [3, 5, 7, 9, 11, 13, 15]
console.log(num) // [2, 5, 8, 11, 14, 17, 20]
// #4: 비구조화 지원
const f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
console.log(f()) // 6
Fetch/Promise/Async-awaitデータ非同期要求に関連する転送の表示
Reference
この問題について([AVAScript-構文]ES 6構文), 我々は、より多くの情報をここで見つけました https://velog.io/@hikoand/JavaScirpt-문법-ES6ES11-syntaxテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol