Closed1

JSのthisとpythonのselfについて

sousquaredsousquared

JavaScriptのthisキーワードは、Pythonの文脈では、クラス内のメソッドで使用されるselfに相当します。thisとselfはどちらも、インスタンスメソッド内でそのインスタンス自身を参照するために使用されます。

JavaScriptのthis

JavaScriptでは、thisは関数が呼び出されたコンテキストに依存して異なるオブジェクトを指します。例えば、オブジェクトのメソッド内でthisを使用すると、そのオブジェクトを指します。
例:

const obj = {
  name: 'Alice',
  greet: function() {
    console.log(`Hello, my name is ${this.name}`);
  }
};

obj.greet(); // "Hello, my name is Alice"

Pythonのself

Pythonでは、selfはクラスのインスタンスメソッド内でそのインスタンス自身を参照するために使用されます。selfはメソッドの最初の引数として明示的に渡されます。
例:

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"Hello, my name is {self.name}")

alice = Person('Alice')
alice.greet() # "Hello, my name is Alice"

比較

  • 定義方法:
    • JavaScript: thisは自動的に関数のコンテキストにバインドされます。
    • Python: selfはメソッドの最初の引数として明示的に渡されます。
  • 使用方法:
    • JavaScript: thisは関数内でその関数が呼び出されたオブジェクトを指します。
    • Python: selfはメソッド内でそのメソッドが呼び出されたインスタンスを指します。
このスクラップは2024/12/08にクローズされました