JavaScriptのさまざまな型
15692 ワード
JavaScriptのさまざまな型
写真でMarkus Spiske on Unsplash
JavaScript関数は、特定のタスクを実行するように設計されたコードのブロックです.
MDN says :
関数はJavaScriptの基本的なビルディングブロックの一つです.関数はJavaScriptの手順です — タスクを実行したり、値を計算するステートメントのセット.関数を使用するには、呼び出したいスコープのどこかに定義する必要があります.
JavaScript関数は「何か」が呼び出されたときに実行されます.
例:
function square(x) {
return x * x;
}
square(10); // 100
基本的な構文
function validFunctionName(parameter) {
return statement;
}
関数は複数のパラメータを持つことができます.次の例では、Barkはパラメータ名をリストしません.bark( )
function bark() {
return "woof-woof";
}
bark(); // woof-woof
power( )
function power(base, exponent) {
let result = 1;
for(let count = 0; count < exponent; count++) {
result *= base;
}
return result;
}
power(2, 10); // 1024
関数式
関数式は、名前付き関数または匿名関数を定義します.匿名関数は名前を持たない関数です.
var fullName = function(firstName, lastName) {
return `${firstName} ${lastName}`;
}
fullName("Jamal", "Uddin"); // Jamal Uddin
矢印関数:
矢印関数式は関数式を書くためのより短い構文です.矢印関数は独自の値を作成しません.
複数の方法で矢印関数を書くことができます.
ファースト
それはちょうど規則的な機能式のように見えるが(=>)
キー.
const double = (value) => {
return value * 2
}
double(10); // 20
二番目
returnキーワードを省略する
const double2 = value => value * 2;
double2(10); // 20
第三
関数がパラメータを持たない場合
const noise = () => console.log("Pling");
noise(); // Pling
or
const noise2 = _ => console.log("Pling");
noise2(); // Pling
フォース
2つ以上のパラメータがあれば、使用括弧を使用する必要があります
const addAll = (x, y, z) => x + y + z;
addAll(10, 20, 30); // 60
第五
我々のパラメータでデフォルト値を使用できます
const multiply = (a = 2, b = 3, c = 1) => a * b * c;
multiply(2, 2, 2); // 8
multiply(2, 2); // 4
multiply(3); // 9
multiply(); // 6
JavaScriptは関数に渡す引数の数について非常に広く理解されています.あなたがあまりにたくさん過ぎるならば、余分のものは無視されます.あなたがあまりに少ないならば、行方不明のパラメタは未定義の値を割り当てられます.
返り値:
戻り値キーワードは関数の中でのみ使用できます.別の例を見てみましょう.
function returnOnlyOnce(){
return "Hello";
return "Goodbye";
}
returnOnlyOnce(); // "Hello"
この例から、戻り値キーワードを関数で一度だけ実行することができます.一旦実行されると、関数は完了し、他のコード行は実行されません.
関数の短縮メソッド
Shortメソッド定義は、オブジェクトリテラルとES 6クラスのメソッド宣言で使用できます.関数名を使用してそれらを定義することができます.続いて、1つの括弧(para 1、…、paramn)と、1つの曲線括弧のペアのリストを引数として定義しますこれは本体文を区切る.
次の例では、オブジェクトリテラルのShortHandメソッド定義を使用します.
const fruits = {
items: [],
add(...items) {
this.items.push(...items);
},
get(index) {
return this.items[index];
}
};
fruits.add('mango', 'banana', 'guava');
fruits.get(1); // banana
add()
and get()
果物オブジェクトのメソッドは、短いメソッド定義を使用して定義されます.これらのメソッドは通常通りです.fruits.add(...)
and fruits.get(...)
.
ジェネレータ関数
ES 6は、ジェネレータ(または発電機機能)の形で関数とイテレータで働く新しい方法を導入しました.ジェネレータは途中で止まることができて、それから止まったところから続くことができる関数です.要するに、ジェネレータは関数であるように見えますが、それはイテレータのように振る舞います.
注意: async/waitはジェネレータに基づいています.続きを読むhere .
例:
function * generatorFunction() {
yield 'Hello, ';
console.log('I will be printed after the pause');
yield 'World!';
}
const generatorObject = generatorFunction();
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
// output should be following below.
// Hello,
// I will be printed after the pause
// World!
// undefined
機能:新しい機能
Functionコンストラクターは新しい関数オブジェクトを作成します.
var sum = new Function('a', 'b', 'return a + b');
console.log(sum(2, 6)); // 8
真実の源泉
function square(x) {
return x * x;
}
square(10); // 100
function validFunctionName(parameter) {
return statement;
}
function bark() {
return "woof-woof";
}
bark(); // woof-woof
function power(base, exponent) {
let result = 1;
for(let count = 0; count < exponent; count++) {
result *= base;
}
return result;
}
power(2, 10); // 1024
var fullName = function(firstName, lastName) {
return `${firstName} ${lastName}`;
}
fullName("Jamal", "Uddin"); // Jamal Uddin
const double = (value) => {
return value * 2
}
double(10); // 20
const double2 = value => value * 2;
double2(10); // 20
const noise = () => console.log("Pling");
noise(); // Pling
const noise2 = _ => console.log("Pling");
noise2(); // Pling
const addAll = (x, y, z) => x + y + z;
addAll(10, 20, 30); // 60
const multiply = (a = 2, b = 3, c = 1) => a * b * c;
multiply(2, 2, 2); // 8
multiply(2, 2); // 4
multiply(3); // 9
multiply(); // 6
function returnOnlyOnce(){
return "Hello";
return "Goodbye";
}
returnOnlyOnce(); // "Hello"
const fruits = {
items: [],
add(...items) {
this.items.push(...items);
},
get(index) {
return this.items[index];
}
};
fruits.add('mango', 'banana', 'guava');
fruits.get(1); // banana
function * generatorFunction() {
yield 'Hello, ';
console.log('I will be printed after the pause');
yield 'World!';
}
const generatorObject = generatorFunction();
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
console.log(generatorObject.next().value);
// output should be following below.
// Hello,
// I will be printed after the pause
// World!
// undefined
var sum = new Function('a', 'b', 'return a + b');
console.log(sum(2, 6)); // 8
幸せなプログラミング!!)
私は誰ですか。
これはMd. Jamal Uddin バングラデシュ、ダッカに拠点を置くソフトウェア開発者として働く.私は新しいことを学び、他人と共有することが大好きです.切断技術で遊ぶことは私の趣味であり、レガシーで働くことは私の仕事です.接続してください
Reference
この問題について(JavaScriptのさまざまな型), 我々は、より多くの情報をここで見つけました https://dev.to/jaamaal95/different-type-of-function-in-javascript-364lテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol