📝 TIL

[TIL] JS 클래스, JSON

오늘 ONEUL 2022. 4. 20. 21:32

✍ 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);
  • 조건을 잘 살펴보고 논리 연산자를 적극 활용하자.
  • 숫자와 문자열 데이터를 가공할 땐 메서드를 적극 활용하자.