1. ホーム
  2. javascript

JavaScriptにおけるhasOwnProperty

2023-07-20 08:53:10

質問

考えてみてください。

function Shape() {
    this.name = "Generic";
    this.draw = function() {
        return "Drawing " + this.name + " Shape";
    };
}

function welcomeMessage()
{
    var shape1 = new Shape();
    //alert(shape1.draw());
    alert(shape1.hasOwnProperty(name));  // This is returning false
}

.welcomeMessage に呼び出され body.onload イベント上で呼び出されます。

私が期待したのは shape1.hasOwnProperty(name) はtrueを返すと期待しましたが、falseを返しています。

正しい動作はどのようなものでしょうか?

どのように解決するのですか?

hasOwnProperty は、文字列を引数に取る通常のJavaScript関数です。

を呼び出すと shape1.hasOwnProperty(name) を呼び出すと、このメソッドに name 変数 (これは存在しません) の値を渡していることになります。 alert(name) .

を呼び出す必要があります。 hasOwnProperty を含む文字列で name のような、このような shape1.hasOwnProperty("name") .