ほとんどのプログラミング言語では、インデックスはゼロから始まります。つまり、インデックスの最初の位置 (ほとんどのプログラミング言語では、文字列は文字のインデックスです) は 0 になります。したがって、何も見つからなかったことを示すために 0 を使用することはできません。どこでも。
明確にするために:
Astring
はchars
(文字、または単一シンボル型) のインデックスです。したがって、"hi@ho.com"
は 9 つの位置を含むインデックスです。
[0] = 'h'
[1] = 'i'
[2] = '@'
[3] = 'h'
[4] = 'o'
[5] = '.'
[6] = 'c'
[7] = 'o'
[8] = 'm'
JavaScript のインデックスはゼロから始まるため、常に最初の位置が 0 から始まります。0 は実際にはインデックスの最初の位置であるため、0 を使用indexOf
できないため、-1 を使用して、どこにも見つからなかったことを示します。@
strings
インデックスがなくても、ほとんどの言語は、伝統と事実上の標準の理由から、文字が見つからなかったことを示すために -1 を使用し、最初の位置を示すために 0 を使用します。
上記の例でindexOf("@")
は、3 ではなく 2 が返されます。これも、インデックスが 0 から始まるためです。