符号“(”javascript表示是大写

symbol "(" javascript saying it is an upper case

var x = "("

if(x == x.toUpperCase()){
  console.log("I am capital ")
}

我们非常清楚“(”这不是大写为什么我会收到这个错误我的任务是测试数字是否是大写它对其他字符工作正常但对“ (" 和这个 ")" 符号

如果您告诉 JavaScript 将 ( 转换为大写字符串,您将得到 (( === (.

我想您可以将其转换为小写并进行比较。

var x = "("

if(x === x.toUpperCase() && x !== x.toLowerCase()){
  console.log("I am capital ")
}

we know very well that "(" this is not an upper case

实际上,我们并不知道这一点。这取决于您如何确切地定义“大写”。

我们知道的是(根本没有案例。也就是说(是否大写的问题,就是non-sensical.

但是,您可以争辩说 ( 大写 小写!例如,如果您将“大写”定义为“不是小写”,那么 ( 最肯定 大写:因为它没有大小写,所以肯定不是小写,这意味着根据该定义,它是大写。

why i am getting this error my task is to test the number wheather they are capital or not it is working fine for other characters but not for the "(" and this ")" symbol

您正在检查字符的大写版本是否与您拥有的版本相同。对于所有没有大小写的字符来说都是如此:( 的大写版本是 (,它通常等于 (),.-=?01, 2, …, 9, 以及许多其他人。

如果你想检查一个字符是否是大写,你首先需要定义什么,确切地,你的意思是“大写”。计算机非常、非常、非常愚蠢,而且非常、非常、非常字面意思。他们只会完全按照你告诉他们的去做,他们不会考虑上下文,他们无法推断出你的意思。

因此,如果您甚至无法向人类解释“大写”的含义,那么您就没有机会为其编写程序。

就我个人而言,我只是使用 Unicode 使用的定义。他们可能并不完美,但是很多非常聪明的人已经花了很多时间非常认真地思考这个问题;我不可能投入那么多时间和资源。目前,Unicode 列出了 1791 个字符,它们是大写字母……我不可能全部都想出来,所以我只好让专家们自己想办法了。这是编程中的一个普遍思想:如果你能让别人解决你的问题,那就去做吧!

所以,我会简单地这样做:

const x = "("

if (x.match(/\p{Uppercase}/u)) {
  console.log("I am capital");
}