9cubed
ブログ | PHP | JavaScript | TypeScript | Vue.js | Laravel | Tailwind | Vite | Python | MariaDB | SQLite | Node.js | Linux | PowerShell | Docker | Git | Web | その他
< 前の記事

JavaScript - オブジェクト

次の記事 >

JavaScript - call

JavaScript

JavaScript - class

公開日:2018-11-29
更新日:2019-05-13

1. 概要

class の使い方です。
class は ECMAScript2015 で導入され、
他の言語のようにクラスを定義できるようになりました。
但し、中身は、今まで通り特殊な関数が動いています。
また、ブラウザによって使用できない場合があるため要注意です。

2.1 クラス(class)

class Test {
	constructor() {
		console.log("コンストラクタ");
	}
	add(value1, value2)  {
		return value1 + value2;
	}
}

var obj = new Test;
console.log( obj.add(1, 2) );
コンストラクタ
3

2.2 継承(extends)

extends で継承できます。
また、super.メソッド名 で、親クラスのメソッドを実行できます。

class Test {
	add(value1, value2)  {
		return value1 + value2;
	}
}

class TestEx extends Test {
	add(value1, value2) {
		var result = super.add(value1, value2);
		console.log(value1 + " + " + value2 + " = " + result);
		return result;
	}
}

var obj = new TestEx;
obj.add(1, 2);
1 + 2 = 3

2.3 staticメソッド

class Test {
	static add(value1, value2)  {
		return value1 + value2;
	}
}

var obj = new Test;
console.log( Test.add(1, 2) );
//console.log( obj.add(1, 2) ); //エラー。オブジェクトからは使えない
3

2.4 メソッドとプロパティの追加

オブジェクト生成後は、普通のオブジェクトと同様に扱えます。

class Test {
	static add(value1, value2)  {
		return value1 + value2;
	}
}

var obj = new Test;
obj.sub = function (value1, value2) {
	this.result = value1 - value2;
}

obj.sub(10, 3);
console.log( obj.result );
7

2.5 アクセサー(getter、setter)

class Test {
	set value(v) {
		console.log("set:" + v);
		this._value = v;
	}

	get value() {
		console.log("get");
		return this._value;
	}
}

var obj = new Test;
obj.value = 5;
console.log( obj.value );
set:5
get
5

2.6 関数から継承

function test() { }
test.prototype.add = function (value1, value2) {
	return value1 + value2;
}

class TestEx extends test {
	sub(value1, value2) {
		return value1 - value2;
	}
}

var obj = new TestEx;
console.log( obj.add(1, 2 ) );  //3
console.log( obj.sub(10, 3 ) ); //7


< 前の記事

JavaScript - オブジェクト

次の記事 >

JavaScript - call

YouTube X

新着一覧

  • async、awaitJavaScript
  • Promise についてJavaScript
  • パッケージの管理Node.js
  • v-model(双方向バインディング)Vue.js
  • VS Code で GitHub を使ったソース管理Git
  • computed(再計算)Vue.js
  • watchDebounced(値の監視)Vue.js
  • watch(値の監視)Vue.js
  • change イベントVue.js
  • v-memoVue.js

アーカイブ

  • 2026/03
  • 2026/02
  • 2026/01
  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08
  • /00

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲