Javascript 如何访问类结构的参数

Javascript 如何访问类结构的参数,javascript,Javascript,我有下面的代码。Initializer中的代码我想从MyClass实例化一个对象,然后打印传递给MyClass的构造函数的内容。当我运行代码时,它会正确编译,但根本不显示任何内容 请告诉我如何访问传递给MyClass构造函数的参数: MyClass class MyClass { /** * * @param {Object} * @param {String} param.str any string */ constructor(param) { t

我有下面的代码。
Initializer
中的代码我想从
MyClass
实例化一个对象,然后打印传递给
MyClass
的构造函数的内容。当我运行代码时,它会正确编译,但根本不显示任何内容

请告诉我如何访问传递给
MyClass
构造函数的参数:

MyClass

class MyClass {
  /**
   *
   * @param {Object}
   * @param {String} param.str any string
    */
   constructor(param) {
   this.myString = param.str;

    console.log(this.getMyString() !== null ? 'my string is not null' : 
    'my   
  string is null');
  }

 getMyString() {
 return this.myString;
}

}
初始值设定项

const MyClass = require('./MyClass');

class Initializer {
  constructor() {
    const myClass = new MyClass('any text');
    console.log(myClass.myString);//displays nothing
    console.log(myClass.getMyString());//displays nothing
  }
}

您只需传递一个
string
,并希望访问其名为
str
的属性,该属性在
string
类型中不存在。因此,它返回
未定义的
,并将其分配给
myString
。您只需使用
this.myString=param

class-MyClass{
构造函数(参数){
this.myString=param;
console.log(this.getMyString()!==null?“我的字符串不为null”:“我的字符串为null”);
}
getMyString(){
返回此.myString;
}
}
类初始值设定项{
构造函数(){
const myClass=新的myClass(“任何文本”);
log(myClass.myString);
log(myClass.getMyString());
}
}

const init=新的初始值设定项()您不能作为对象的属性访问构造函数/函数参数(当然,除非您传入对象)。这一行:

this.myString = param.str;
在第一个参数的值上查找
str
属性。当你称之为:

const myClass = new MyClass('any text');
…你在传递一个字符串。字符串没有
str
属性

传入对象:

const myClass = new MyClass({str: 'any text'});
…并继续使用
param.str
更新
MyClass
以使用
param
而不是
param.str

this.myString = param;
例如:

类矩形{
建造商(高度、宽度){
高度=高度;
这个。宽度=宽度;
}
//吸气剂
获取区域(){
返回这个。calcArea();
}
//方法
钙质(){
返回this.height*this.width;
}
}
常数平方=新矩形(10,10);

控制台。原木(方形面积);//100
你甚至记录了你的
MyClass
构造函数以对象作为第一个参数,那么为什么你要传递一个字符串呢?你能看看我更新的代码吗?我知道我遇到了“MyClass不是构造函数”的问题,你能看看我更新的代码吗?我知道遇到了“MyClass不是构造函数”的问题@LetsamrIt:编辑问题使现有答案无效是不好的。堆栈溢出问题并不意味着是移动目标。我已回滚编辑。如果你是“非构造函数”,你还没有向我们展示(甚至在编辑中)你是如何导出
MyClass
,但是基于
require
调用,你必须这样做:
module.exports=MyClass
@LetsamrIt:也重新编辑:你改变了事物的两面,所以它仍然是不正确的。将带有
str
的对象传递到构造函数中并在构造函数中使用
param.str
,或者直接传递字符串并使用第一个参数作为字符串。不是两者都有。