0

上个月 Boredom 占了上风,从那时起我就一直在为 JavaScript 开发一个库。我已经阅读了大约 20 多年的教程和大量文档。

现在我有了一个很小、简单(但可以工作)的库,我想更改编写代码时使用的语法。

我想我可能刚刚找到了一种方法。或者,更有可能的是,我可能刚刚对以下行感到尴尬,并提出问题:

string     = new String('string');

那里的那条线;它会创建一个新type的类型string并调用它string吗?还是那条线做了其他事情,还是与以下内容基本相同:

string string = "hey";

我问的原因是,我有兴趣学习如何改变事物。我希望能够在我的小型 js 库中声明这样的新字符串:

txt someString = "hey";

...txt数据类型“字符串”在哪里。

然后像这样使用它:

if(someString == "hey") { return true; }
4

2 回答 2

2

string = new String('string');String创建一个具有内部值(字符串[原始值])的新对象(作为 instanceof ) "string",并将其分配给标识符名为“字符串”的变量。JavaScript 中的第二行和第三行无效。

> var strObj = new String("string");
> var strVal = "string";
> typeof strObj
"object"
> typeof strVal
"string"
> strObj == strVal
true
> strObj === strVal
false
> strObj instanceof String
true
> strVal instanceof String
false

通常,您永远不需要String实例。如果您在 JS 中访问字符串值的方法,它们会自动强制转换为对象。

于 2012-10-20T21:40:37.567 回答
1
txt someString = "hey";

您不能更改 Javascript 的语法。如果你真的想这样做,你将不得不编写自己的编程语言。请参阅学习编写编译器。如果您希望这种编程语言可以在 Web 浏览器中使用,您需要将您的语言编译为 Javascript。CoffeeScript正是这样一种语言。

于 2012-10-30T07:34:30.587 回答