JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

変数を使ってJavaScriptのクラスオブジェクトを呼び出す方法

JavaScriptでは、変数に格納した値をeval()関数を使って呼び出すことで、クラスオブジェクトを動的に扱うことができます。この記事では、その具体的な手順をサンプルコード付きで解説します。

クラスと変数の準備

まず、次のような変数が定義されているとします。

var message = 'This is the Class Demo';

続いて、この変数を使ってオブジェクトを作成します。

var object = new FirstClass(message)

ここで使用しているFirstClassは以下のように定義されたクラスです。コンストラクタで受け取ったメッセージをインスタンスのプロパティとして保持しています。

class FirstClass{
    constructor( message){
        this.message = message;
    }
}

eval()を使ったクラスオブジェクトの呼び出し

JavaScriptの組み込み関数であるeval()を使用すると、文字列として渡された式を評価し、その結果を返します。これにより、変数経由でクラスオブジェクトを呼び出すことが可能になります。

コード例

class FirstClass{
    constructor( message){
        this.message = message;
    }
}
var message = 'This is the Class Demo';
var object = new FirstClass(message)
console.log(eval(object).message);

プログラムの実行方法

上記のプログラムを実行するには、Node.js環境で以下のコマンドを使用します。

node fileName.js.

ここでは、ファイル名をdemo121.jsとして保存しています。

実行結果

プログラムを実行すると、以下のような出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo121.js
This is the Class Demo

解説

eval(object)によってオブジェクトが評価され、その結果に対して.messageプロパティへアクセスすることで、コンストラクタに渡した文字列「This is the Class Demo」が出力されます。

注意点

eval()は強力な反面、任意のコードを実行できてしまうため、信頼できない入力を扱う場合はXSS(クロスサイトスクリプティング)などのセキュリティリスクにつながる可能性があります。実務では、必要最小限の範囲でのみ使用するか、より安全な代替手段(例:プロパティアクセスやMapによる管理)を検討することをおすすめします。

  1. JavaScriptのcall()とapply()で関数を呼び出す方法をわかりやすく解説

    JavaScriptには、関数の呼び方を柔軟に制御できるメソッドとして call() と apply() が用意されています。どちらも「this」の値を指定しながら関数を実行できる点は共通していますが、引数の渡し方が異なります。 call() と apply() の違い call(): 引数を個別の値(カンマ区切り)として渡します。 apply(): 引数を配列(または配列風オブジェクト)として一括で渡します。 それでは、実際に両方のメソッドを使って関数を呼び出すサンプルコードを見てみましょう。 サンプルコード <!DOCTYPE html> <html lang=ja>

  2. 【JavaScript入門】onclick()でボタンクリック時に関数を呼び出す方法

    はじめにWebページのボタンがクリックされたときに、特定の関数を実行したい場面は非常によくあります。JavaScriptでは、HTML要素のonclick属性に関数名を指定するだけで、この動作を簡単に実現できます。例えば、次のようなボタンがあるとします。<button onclick="displayingMessageOnButtonClick()">押してください</button>このボタンがクリックされた際に、指定した関数を呼び出すことが目的です。コード例以下がその完全なサンプルコードです。<!DOCTYPE html> <h