
_ , $, 숫자를 쓰는것이 좋은가?자바스크립트는 _(밑줄) 이나 $(달러) 기호로 이름을 시작하거나 끝낼 수 있고 숫자로 끝낼 수 있다. _로 시작하거나 끝나는 이름들은 일반적으로 public 속성이나 전역 변수를 의미하지만 프로그램을 제대로 작성했다면 이런 변수들은 전부 private일 것이므로 사용하지 않는것이 바름직하고 $ 기호를 사용했을때는 겹치지 않는 이름을 사용할 수 있다고 보장을 받을 수 있지만 $ 기호는 코드 생성기나 트랜스파일러, 매크로 처리기에서 사용할 목적으로 사용되었기 때문에 사용하지 않는 것이 좋다.
이름의 숫자가 들어가는 경우는 개발자가 이름에 대해서 충분히 고민하지 않았다는 방증이다.
이름에 여러 개의 단어를 사용할때 공백 문자가 허용되지 않아 여러 개의 단어를 어떠게 표기하느냐에 대한 의견이 나뉘는데 한쪽은 각 단어의 첫 번째 문자를 대문자로 표기하는 카멜케이스, 한쪽에서는 각 단어를 _로 연결해야 한다고 하고 다른 한쪽은 구분 없이 모든 단어를 이어서 표기하자고 하고있다고 한다.
위 논쟁은 아직까지도 이어져 오고있고 저자는 셋다 틀린 방법이라 생각하고 옳은 방법은 단어를 구분하기 위해 공백을 사용하는 것인데 현재 프로그래밍 언어에서는 공백을 허용하지 않기 때문에 다음 세대 언어에서는 공백을 허용해 가독성을 더 향상시켰으면 한다고 한다. 그때까지는 _ 를 사용하는 것이 좋을 것 같다고 한다. 이유는 그렇게 하면 다음 세대 언어에서 공백으로 바꾸기도 훨씬 편할 것이 때문이라 한다.
new 연산자 문제 때문이다.new로 시작하면 해당 함수는 생성자로서 호출되고 그렇지 않으면 함수로서 호출된다.new를 써야해는데 쓰지 않은 경우 혹은 반대로 잘못 사용한 new로 인해 발생한 문제를 자동으로 감지할 방법이 없다.new를 사용하지 않는 것이다.new를 사용하지 않으면 대문자를 쓸일이 없다는 것이다.abstract
arguments
boolean
break
byte
case
catch
char
class
const
continue
debugger
default
delete
do
double
else
enum
eval
export
extends
false
final
finally
float
for
function
goto
if
implements
import
in
instanceof
int
interface
let
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
typeof
var
void
volatile
while
with
yield
*는 ES6에서 추가된 예약어