What is the difference between the "String.charAt()" method and the "String.at()" method?
I tried to understand how they work, but other than the fact that the "at" method can have a negative value, I did not find any more.
What is the difference between the "String.charAt()" method and the "String.at()" method?
I tried to understand how they work, but other than the fact that the "at" method can have a negative value, I did not find any more.
at()
is a newer addition to JavaScript compared to charAt()
. According to MDN, both charAt()
and at()
are valid, but at()
is more "succinct and readable". The ability to use negative indexes makes your code more concise since you can do things like myString.at(-2)
instead of myString.charAt(myString.length - 2)
.
charAt()
has better support of older browser versions (1, 2), but I would give that absolutely no consideration, unless you have an extremely specific use case.
at()
undefined
if we pass a number as an argument that is >= the length of the stringcharAt()
''
if we pass a number as an argument that is >= the length of the stringAddition to Shahadat Shemul's answer:
''.at(nonExistentPosition) === undefined
''.charAt(nonExistentPosition) === ''
© 2022 - 2024 — McMap. All rights reserved.
.at()
understands a negative index is the only difference. – PricketcharAt
has also been supported far longer. – Letishaletitia.at()
also works for arrays, giving you one function for doing "the same thing" to both arrays and strings (which already supported array notation for accessing letters the same way you would array elements). – Ironworker