0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[javascript][python][php]デフォルト(オプション)引数

Last updated at Posted at 2022-07-04

仕事で身に付けた技術や仕事以外で身に付けた知識を、自分用の備忘録として投稿していきたいと思います。

今日の内容

会社で先輩方にしていただいた、Vue.jsで書いたコードのフィードバックで、javascriptのデフォルト引数を使ったので、備忘録として残します。

使うことになったきっかけ

空配列を初期値とした変数が、なぜかUndefinedになってしまっていて、どこでUndefinedが入ってしまっているのかわからなかったので応急処置として使いました。
(はじめは、if分岐でUndefinedが入っていたときの処理を書いていました。デフォルト引数を使うことで、ネストが減りました)

使い方

至ってシンプル。引数に続けて=デフォルト値を書くだけ。引数が未定義だったとき、デフォルト値が引数にセットされる。

sample_undefined.js
//引数が未定義
function sum(x=0, y=0, z=0){
  return x + y + z;
}

sum(); //0
sample.js
function sum(x=0, y=0, z=0){
  return x + y + z;
}

const x = 1;
const y = 1;
const z = 1;

//引数が定義されているのでデフォルト値はセットされない
sum(x,y,z); //3

//nullが代入されているときもデフォルト値は使われない
function message(mess = "Undefined"){
  return mess;
}

const mess = null;

//引数が定義されているのでデフォルト値はセットされない
message(mess); //null

公式ドキュメント:

オプション関数が使える開発言語

javascriptだけでなく、PythonやPHP,C#にもオプション関数が存在する。

Pythonでの書き方

sample.py
#引数が未定義
def Sum(x = 0, y = 0, z = 0):
    return x + y + z  #0

PHPでの書き方

sample.php
//引数が未定義
function sum($x = 0, $y = 0, $z = 0){
    return $x + $y + $z;  //0
}

C#での書き方

sample.cs
//引数が未定義
static int Sum(int x = 0, int y = 0, int z = 0){
    return x + y + z; //0
}
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?