| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

JavaScript

提供: MyMemoWiki
2024年9月27日 (金) 10:54時点におけるPiroto (トーク | 投稿記録)による版 (→‎引数規定値、可変長引数)
ナビゲーションに移動 検索に移動

| Node.js | TypeScript | Angular | AngularJS | React | Dojo | DOM | jQuery | prototype.js | 初めて |

JavaScript

言語

モダンJavaScript

変数宣言

  • const : 再代入不可
  • let : 変数宣言、ブロックスコープ、同名変数監視
  • var : 変数宣言

リテラル表現

テンプレート文字列

  • 文字列をバッククォートでくくる
  • 途中の改行も可
 const name = 'Yagi';
 const message = `Hello. ${name}`;

アロー関数=

  • 関数リテラルをより簡単にあらわす
(arg,・・・) => {statement}
  • 以下の2つは意味的にはほぼ等価
function fun(arg) {
    return "x";
}

const fun = (arg) => {
    return "x"; 
}
  • 関数本体が1文ならブロックを省略できる
  • 式の値がそのまま戻り値となるのでreturnも省略できる
const fun = (arg) => "x";
  • 引数が1つの場合、カッコも省略できる
const fun = arg = > "x";
  • 引数がない場合、カッコは省略できない
const fun = () => "x";

オブジェクトリテラルの簡易構文

変数と同名のプロパティ

  • プロパティと変数名が等しい場合は、値の指定を省略できる
const name = 'yagi'
const age = 52;

const me = { name, age };

メソッドの簡易構文

  • メソッドも簡易に表せる。
  • greet : function() {} -> greet() {}
const person = {
    name : 'yagi',
    greet() {
        "Hello";
    }
}

プロパティ名の動的生成(算出プロパティ名)

  • プロパティ名をブラケットで括ることで値から生成できる
let i = 0;
const hoge = {
    [`no${i++}`] : '#1',
    [`no${i++}`] : '#2',
    [`no${i++}`] : '#3'
}

分割代入

  • 配列
const list = [1,2,3];
const [x,y,z] = list;

// 明示されない値を取得には...を使う
const [x, ...etc] = list;
  • オブジェクト
const me = {
    name = 'yagi';
    addr = 'aichi';
    age = 52;
};

const { name, addr, note = 'default value' } = me; 
// 別名 name -> myname
const { name: myname } = me;
// 明示されない値を取得には...を使う
const { name, ...etc } = me;
  • 入れ子オブジェクト
const me = {
    name : 'yagi';
    addr : {
        pref : 'aichi',
        city: 'asahi'
    }
};

const { addr : { city } } = me;
// city = 'asahi'

引数規定値、可変長引数

  • 引数規定値
function fun(a = 1, b = 1, c = 1) {}

// 以下も可
function fun (a = 1, b = a, c = a ) {}
  • 可変長引数:引数の前に...を付与することで配列として取得できる
function fun(...nums) {
     console.log(nums.length);   
}

fun(1,2,3); // print 3
  • スプレッド構文による引数の展開
console.log(...[1,2.3]);  // 1,2,3
  • 分割代入によるオブジェクト引数の分解
const me = { name: 'yagi', age: 52 };
const f = ({name, age}) => console.log(`${name}`);
f(me); // yagi

リンク

Promiseベースのhttpクライアント(axios)

リファレンス

DHTML

入門

初めてのJavaScript

JavaScript メモ

DOM

jQuery

Tips

ウィンドウ操作

画面要素

画像

スタイル

文字列操作

正規表現

配列

オブジェクト

トラブル

Ajax

その他