✍ Today I Learned
- 스스로 하지 않으면 발전은 없다! 분발하자!
- [Style Guide]
- operator 양쪽에 공백 두기
- 변수 이름 시작에 숫자나 대문자 X
- 달러($) 기호로 이름을 시작하지 않기
- 파일명은 소문자로 하는 것을 추천
- [Best practices]
- 전역 변수,
new
, ==
, eval()
가급적 사용하지 않기
- 변수는 상단에 선언하고, 선언하면서 초기화
- 객체, 배열 선언은
const
- 자바스크립트는 자동형변환 되는 경우가 많으므로 언제나 데이터 타입에 유의하기
switch
문은 언제나 default
로 끝내기
eval()
함수 사용하지 않기
- [Mistakes]
=
할당 연산자와 ==
비교 연산자 헷갈리지 말기(할당은 할당 값을 반환)
switch
문은 타입까지 비교하는 엄격한 비교를 함
- 소수점 연산이 언제나 정확한 것은 아님
return
문에서는 줄 바꿈 하지 않기
- [Performance]
arr.length
같은 명령문은 반복문 외부에 배치하기
- DOM 요소에 여러 번 접근하는 경우 지역 변수로 선언하기
- 값을 저장하는 것이 아니라면 새 변수 생성하지 않기
with
키워드 사용하지 않기
- [class란?]
- class는 객체를 위한 템플릿이다.
- class를 사용하면 설계도와 구현체를 구분할 수 있기 때문에 재사용성이 올라간다.
- class 상속을 생성하려면
extends
키워드를 사용한다.
super()
메서드는 부모 class를 참조한다.
get
, set
키워드를 이용하여 getter와 setter도 사용할 수 있다.
- class 선언은 호이스팅 되지 않는다.
static
메서드는 class 자체에 정의되고, 객체로 접근하여 사용할 수 없다. 오직 class명으로만 호출할 수 있다.
- 그럼 전부
static
메서드로 사용하면 되는 거 아니야? 놉. 주소 값이 하나밖에 생성되지 않기 때문에 새로운 객체를 만들어낼 수 없다.
- [JSON이란?]
- JavaScript Object Notation - 자바스크립트 객체 표기법
- 데이터 전송에 필요한 경량 데이터의 표준 형식
- 텍스트 전용이므로 컴퓨터 간에 쉽게 전송되고 모든 프로그래밍 언어에서 사용 가능
// 서버로 부터 데이터를 받을 때
const obj = JSON.parse(text);
// 서버로 데이터를 보낼 때
const myJSON = JSON.stringify(obj);
- 조건을 잘 살펴보고 논리 연산자를 적극 활용하자.
- 숫자와 문자열 데이터를 가공할 땐 메서드를 적극 활용하자.