返回JavaScript类值而不是对象引用

返回JavaScript类值而不是对象引用,javascript,Javascript,我想知道是否有一种方法可以在默认情况下返回JS类的值,而不是引用类对象本身。比如说,我想包装一个字符串 var StringWrapper = function(string) { this.string = string; }; StringWrapper.prototype.contains = function (string) { if (this.string.indexOf(string) >= 0) return true; retu

我想知道是否有一种方法可以在默认情况下返回JS类的值,而不是引用类对象本身。比如说,我想包装一个字符串

var StringWrapper = function(string) {
    this.string = string;
};

StringWrapper.prototype.contains = function (string) {
    if (this.string.indexOf(string) >= 0)
        return true;
    return false;
};

var myString = new StringWrapper("hey there");

if(myString.contains("hey"))
   alert(myString); // should alert "hey there"

if(myString == "hey there") // should be true
   doSomething();
现在我想通过使用
myString
而不是
myString.string
来获取
string
。这是可行的吗

编辑
我把
console.log(myString)
排除在外,因为
console.log
有我最初没有考虑的行为,这使问题复杂化,这并不意味着关于
log
你的问题没有完全意义,但听起来好像您想要实现
.toString
接口:

var MyClass=函数(值){
这个值=值;
};
MyClass.prototype.toString=函数(){
返回此.value;
};
var classObj=新的MyClass(“嘿,那里”);
log(classObj);
log(classObj+“!”)

您的问题并不完全有意义,但听起来好像您想要实现
。toString
界面:

var MyClass=函数(值){
这个值=值;
};
MyClass.prototype.toString=函数(){
返回此.value;
};
var classObj=新的MyClass(“嘿,那里”);
log(classObj);
log(classObj+“!”)



表示您想在
控制台.log中获取该值吗?
?您真的必须使用
新的MyClass()
构造吗?听起来“普通”函数会更好。我们知道这只是一个示例,但基于该示例,最好只使用一个简单的函数返回值,或者如果这对你不起作用,那么这个例子并不能真正代表你的实际问题,所以很难说出你真正需要什么。@Andy什么是一个小例子?你没有给我们任何你想做的例子。你又一次没有展示最重要的部分。。。一个示例显示了实际需要获取字符串值的情况。。。或者它真的只是为了登录控制台?意味着您想在
控制台中获取该值。log
?您真的必须使用
新的MyClass()
构造吗?听起来“普通”函数会更好。我们知道这只是一个示例,但基于该示例,最好只使用一个简单的函数返回值,或者如果这对你不起作用,那么这个例子并不能真正代表你的实际问题,所以很难说出你真正需要什么。@Andy什么是一个小例子?你没有给我们任何你想做的例子。你又一次没有展示最重要的部分。。。一个示例显示了实际需要获取字符串值的情况。。。或者它真的只是为了登录到控制台?虽然这完全回答了这个问题,但仍然毫无意义。lol。创建一个对象来包装字符串,使用toString接口来取回字符串。@ikaros45在这种非常简单的情况下没有意义,但是,如果对象包含其他东西,这可能是OP想要得到的东西,这可能是有意义的。先生,你可能是对的,如果他想要的是python中的repr,也就是对象的表示,那没关系。。。但从这个问题来看,我不会这么说。实现自定义
toString
方法是完美的,这就是我想要做的——我只是不太知道我想要做的D大多数时候,大多数人都不知道他们在看什么(当然包括我):)虽然这完全回答了问题,但仍然毫无意义。lol。创建一个对象来包装字符串,使用toString接口来取回字符串。@ikaros45在这种非常简单的情况下没有意义,但是,如果对象包含其他东西,这可能是OP想要得到的东西,这可能是有意义的。先生,你可能是对的,如果他想要的是python中的repr,也就是对象的表示,那没关系。。。但从这个问题来看,我不会这么说。实现自定义
toString
方法是完美的,这就是我想要做的——我只是不太知道我想要做的D大多数时候,大多数人都不知道自己在看什么(当然包括我):)