9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

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

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • 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.

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