holdanddeepdive/javascript-deep-dive

8장, 9장

Opened this issue · 1 comments

p.105

중첩된 for문에서, 내부 for문이 아닌 외부 for문을 탈출하려면 레이블 문을 사용한다.
레이블 문은 중첩된 for문 외부로 탈출할 때 유용하지만 그 밖의 경우에는 일반적으로 권장하지 않는다.

개인적으로 레이블 문은 좋지 않은 문법이라는 생각이 있었어서
중첩된 for문에서도 레이블문을 사용한 적은 없었는데요.
https://stackoverflow.com/questions/4906762/is-using-labels-in-javascript-bad-practice
이 글을 보니 책에서 주어진 예제처럼 사용이 되기도 하지만, uncommon한 문법이라고 말하고 있습니다.
여러분들은 label문을 써서 코드 짜시나요?

p. 117

명시적 타입 변환 - 산술 연산자를 이용하는 방법
ex. + '0' => 문자열 타입에서 숫자타입으로 변환
'0' * 1 => 문자열에서 숫자타입으로 변환

명시적 타입 변환 방법에는 여러가지 방법이 있었습니다.
생성자 함수를 new 연산자 없이 호출하거나, parseInt 함수를 사용하는 방법 등 함수를 사용하는 방법도 있었고,
위와 같이 암묵적 타입 변환을 사용하는 방법도 있었는데요.
암묵적 타입 변환을 사용하는 것은 짜는 사람 입장에서는 간편하지만, 코드를 읽는 사람 입장에서는 이해하기 어려워진다고 생각하는데
여러분은 어떠신가요? 타입 변환 시 어떤 방법을 사용하는 걸 좋아하시나요?

정리

  • label 쓰는 경우 없음, 쓰지 않는 것이 좋다고 함
  • switch 문은?
    • 별로 좋아하지 않고 객체 enum이나 if로 가능한 바꾸려고 함
    • 로직마다 어쩔 수 없는 경우가 있어서 오히려 스위치 문이 나을 때도 있음
  • 명시적인 변환을 선호하는 편
    • Boolean(a) !!a에서는 후자가 좋음 :) 귀찮아~