Javascript 有没有可能,字符串长度是非自然数?

Javascript 有没有可能,字符串长度是非自然数?,javascript,Javascript,字符串长度有可能是非自然数吗 例如: var smth = 'xxxx'; 有没有这样的情况,当smth.length>3是真的,但是smth.length>=4不是真的?smth.length>3意味着smth.length至少应该是4,所以smth.length>=4将永远是真的smth.length>3意味着smth.length至少应该是4,所以smth.length>=4将永远是真的,这是不可能的,只要smth是字符串类型 每个字符串对象都有自己的length属性,该属性始终为整数,

字符串长度有可能是非自然数吗

例如:

var smth = 'xxxx';

有没有这样的情况,当
smth.length>3
是真的,但是
smth.length>=4
不是真的?

smth.length>3意味着smth.length至少应该是4,所以smth.length>=4将永远是真的

smth.length>3意味着smth.length至少应该是4,所以smth.length>=4将永远是真的,这是不可能的,只要
smth
是字符串类型

每个字符串对象都有自己的
length
属性,该属性始终为整数,不能更改。发件人:

长度 此字符串对象表示的字符串值中的元素数

初始化字符串对象后,此属性将保持不变。它具有属性{[[Writable]]:false、[[Enumerable]]:false、[[Configurable]]:false}


不,这是不可能的,只要
smth
是字符串类型

每个字符串对象都有自己的
length
属性,该属性始终为整数,不能更改。发件人:

长度 此字符串对象表示的字符串值中的元素数

初始化字符串对象后,此属性将保持不变。它具有属性{[[Writable]]:false、[[Enumerable]]:false、[[Configurable]]:false}


正如我在评论中解释的,这是边缘案例场景,但如果您担心,那么此方法可以为您节省:


var unicodeCharacter='正如我在评论中所解释的,这是边缘案例场景,但如果您担心,那么此方法可以为您节省:


var unicodeCharacter='短答案:否。长答案:在某些边缘情况下,
string.length
大于字符串长度,但不以十进制表示。也许你应该解释一下这个问题的来源……非int值可能是一个bug:“这个字符串对象表示的字符串值中的元素数。”@EmilS.Jørgensen,你能告诉我这种情况吗,当它大于它的长度时?@tazotodua一些unicode字符。请阅读本文以了解更多信息:。我发布的第一个链接中也提到了这种情况的原因:。短答案:否。长答案:在一些边缘情况下,
string.length
大于strings长度,但决不是十进制的。也许你应该解释一下这个问题的来源……非int值可能是一个bug:“这个字符串对象表示的字符串值中的元素数。”@EmilS.Jørgensen,你能告诉我这种情况吗,当它大于它的长度时?@tazotodua一些unicode字符。请阅读本文以了解更多信息:。我发布的第一个链接中也提到了为什么会出现这种情况:。除非
smth.length
可能是3.5,这是问题的关键。我认为OP是在一个权威参考之后,为什么它会被允许或不会被允许。除非
smth.length
可能是3.5,这是问题的关键。我认为OP是在一个权威的参考之后,为什么会被允许或者不被允许。