코딩테스트 문제를 풀다가, toUpperCase()
와 toLowerCase()
가 원래 문자열을 변경하는지 헷갈렸습니다.
결과적으로 toUpperCase()
와 toLowerCase()
는 원래 문자열을 변경하지 않고 새로운 문자열을 반환합니다. 따라서 대문자 또는 소문자로 변경한 문자열을 사용하고 싶으면 새로운 변수에 할당하거나 기존의 변수에 재할당해주면 됩니다.
배열에는
원본 배열을 직접 변경하는 메서드
(mutator method)와 원본 배열을 직접 변경하지 않고새로운 배열을 생성하여 반환하는 메서드
(accessor method)가 있다. 반면에 String 객체에 직접 변경하는 메서드는 존재하지 않는다. 즉 String 객체의 메서드는 언제나 새로운 문자열을 반환한다.
(<모던 자바스크립트 Deep Dive> 594p)