JS中String Object的参数叫什么名字?

What is the name of the parameter of String Object in JS?

提问人:Oğulcan Yavuz 提问时间:1/17/2023 最后编辑:Oğulcan Yavuz 更新时间:1/17/2023 访问量:51

问:

我已经学习了 3 个月的编码,这是我在这里问的第一个问题。我正在编写一个应用程序,该应用程序将帮助土耳其语学习者共轭土耳其语单词。我使用带有函数的过程方式编写了一些代码,现在我想用 OOP 重构代码。因此,我创建了一个类并将其扩展到 String 类(因为我希望能够对单词使用字符串方法)。然后我写了一些与我的类名相关的公共字段。

class TurkishLettersData extends String

turkishAlphabet = {
  v: {
    voicing: "voiced",
    ...
  },
  ş: {
    voicing: "voiceless",
    ...
  }
}

对象比这长得多,并且对象后面有几个数组。我将使用该对象进行单词变位。更多内容见下文。

由于我想使用 String 类的参数,所以我没有编写构造函数或超函数。在创建实例时,我仍然可以使用 String 类的参数。

当我想添加一个可以查找单词第一个字母的方法时,我遇到了这个问题。基本上,我想对以下部分进行编码:

findFirstLetter() {
  return this.xxxxx.at(0)
}

但是,由于我不知道 String 对象的参数名称,因此我无法将任何方法写入我的类。

我在互联网上搜索并向 ChatGPT 提出了同样的问题,但无济于事。

那么,JS中String Object的参数叫什么名字呢?

编辑:

谢谢大家。我现在可以按照 Felix Kling 的建议解决我的问题(返回 this.at(0))。我将检查 Bergi 使用构图的想法并再次编辑问题。

我将使用 turkishAlphabet 对象进行单词共轭。例如,on at 中的介词被翻译成土耳其语作为 -de 或 -te 后缀(但还有更多)。尽管后缀的含义相同,但这些后缀将使用的单词的最后一个字母会影响使用哪一个,并且有几个条件。如果单词以浊辅音(ev 表示 house)结尾,我们说 evde(在房子里),但如果它以无浊辅音(iş 表示工作)结尾,我们说 işte(在工作中)。findLastLetter() 方法将找到最后一个字母并检查该字母是有浊音还是无浊音。这只是一个小例子。

JavaScript 字符串 方法 参数

评论

3赞 Felix Kling 1/17/2023
我认为扩展 String 没有意义(好吧,我想如果你想公开/访问所有默认的字符串函数,它可能会),但应该可以工作。 指当前实例。return this.at(0)this
1赞 Bergi 1/17/2023
turkishAlphabet看起来像一个常量,应该在类之外或成为属性。static
4赞 Bergi 1/17/2023
但我附@FelixKling:不要扩展,特别是如果你是初学者。由此产生了太多的怪异。虽然不清楚你应该代表什么,但它可能应该换行一个字符串(使用组合而不是继承),或者根本不是。OOP 并不意味着无缘无故地把所有东西都放在类中。StringTurkishLettersDataclass

答: 暂无答案