「JavaScript」の版間の差分
ナビゲーションに移動
検索に移動
(→モジュール) |
|||
175行目: | 175行目: | ||
</pre> | </pre> | ||
+ | *import { member, ... } from module | ||
<pre> | <pre> | ||
import { func1, func2 } from './mod.js'; | import { func1, func2 } from './mod.js'; | ||
+ | </pre> | ||
+ | |||
+ | *nodeコマンドから実行の場合、package.jsonで明示的にモジュール機能を有効化 | ||
+ | <pre> | ||
+ | { | ||
+ | "type": "module" | ||
+ | } | ||
</pre> | </pre> | ||
2024年9月27日 (金) 11:08時点における版
| 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
nullチェック
- Optional Chaining演算子(?.)
- let str = null;
- str?.substring(1); // undefined => 通常Error
- null合体演算子
- let str = null;
- str ?? 'default value'; // default value
モジュール
- JavaScriptのモジュールは一つのファイルとしてまとめるのが基本
- モジュール配下のメンバーは規定でモジュール外部には非公開
- モジュール外部からアクセスするには、exportキーワードを付与する必要がある
定義済みモジュールへのアクセス
- <script type="module" src="mod.js"></script>
- import { member, ... } from module
- import { func1, func2 } from './mod.js';
- nodeコマンドから実行の場合、package.jsonで明示的にモジュール機能を有効化
- {
- "type": "module"
- }
リンク
Promiseベースのhttpクライアント(axios)
リファレンス
DHTML
入門
初めてのJavaScript
JavaScript メモ
DOM
jQuery
Tips
ウィンドウ操作
- ブラウザのタイトルを変更する
- showModalDialog で開いたダイアログの画面遷移
- 画面が閉じられる時にメッセージを表示する
- 自動的にリダイレクトする
- Windowのクライアント領域のサイズを取得
- Windowが未だ開いているか
- 確認ダイアログなしでWindowを閉じる
- デスクトップ領域のサイズを取得
画面要素
- 行列を固定したテーブル
- 動的にコントロールを扱うとき
- オブジェクトのメンバーを列挙
- F5 キー押下を無効にする
- イベントハンドラのアタッチ
- TABLEに行を追加
- テキストエリアの内容をクリップボードにコピー
- SELECT BOX の OnChange をキャンセルする
画像
スタイル
文字列操作
- シングルクォートのエスケープ
- 画面に入力された文字コードを調べる
- ゼロサプレス 正規表現
- 16進数文字コードを取得
- 文字化けの対処(URLエンコード)
- [JavaScript UTF-8文字列のバイト数を得る [UTF-8文字列のバイト数を得る]
- 全角半角変換
正規表現
配列
オブジェクト
トラブル
- 開放されたスクリプトからコードを実行できません
- IE6 のdocument.body.clientHeightの挙動がおかしい
- IE Input type=file でsubmitできない
- ブラウザ用デバッグツール
Ajax
その他
© 2006 矢木浩人