А нужна ли переменная?
workStrLength (12 символов) VS str.length (10 символов) выносить не стоит
А вот когда так, грубо говоря:dDE VS document.documentElement.clientHeight, то, конечно, лучше записать отдельно.
А вообще, такие мелочи делают код приятнее и удобнее для просмотра. Писать так, как вы - правильно, в каком-то смысле, так что не волнуйтесь :)
Макконнел говорит, что нужно различать input переменные и output переменные.
Т.е. если с одной стороны вы str используете на входе и иначе используете - на выходе - то разделение гуд. Если нет - то смысл непонятент.
Тогда ответ такой - если вам удобно (или вашей команде так удобно) - то ок. Иначе - неясно.
Все равно, что написать:var trueValue = true но если это каким-то образом повышает читаемость, то это проблема дизайна