특이한 자바스크립트

  • /products/:n 처럼 동적 파라미터로 들어온 값은 전부 string으로 들어온다. javascript는 이를 숫자처럼 계산 가능하지만 다른 언어에서는 안되므로 parseInt 써주는 게 좋다.
    • javascript는 비교 연산자를 사용할 때 각 데이터의 타입이 다르면 강제 형변환을 진행한다.
      • 변환 규칙
        • string +연산자 사용 시 피연산자 중 문자열이 하나라도 있으면 문자열 타입으로 강제 형변환이 발생한다.
        • number

          +를 제외한 산술 연산자(-/*>< 등) 사용시 숫자 타입으로 강제 형변환이 발생한다.

        • boolean 비교 연산자(==!=&&|| 등) 사용시 발생한다.

            0 == '';         // true
            0 == [];         // true
            [] == '0';   // false ->  []는 객체이므로 '' == '0'
            '' == '0';   // false
            0 == '0'  // true  문자열->숫자로 변환되어 0 == 0
          

          ### 동등 연산자 vs. 일치 연산자

          • 동등 연산자 (==): 타입 강제 변환을 수행하여 비교.
          • 일치 연산자 (===): 타입 강제 변환을 하지 않고, 타입과 값 모두를 비교.

            ### 동등 연산자의 형변환 규칙 요약:

            • 숫자 vs 문자열 : 문자열이 숫자로 변환된다.
            • 숫자 vs불리언 : 불리언이 숫자로 변환된다. (true1, false0).
            • 객체vs 숫자, 문자열 : 객체는 toPrimitive 메서드에 따라 원시값으로 변환된 후 비교됨. ex) []→’’

API 분석해보기

  • https://school.programmers.co.kr/app/courses/24588/curriculum/lessons/334023
    • courses/courses_number/curriculum/lessons/lesson_number
  • param

    :뒤에 쓰기

  • query

    ? 뒤에 작성 ex) /watch?v=welkjfa

Case naming convention

  • 폴더, 파일
    • 영어 소문자, 두 개 이상의 단어를 합쳐서 사용할 때 - 하이픈을 사용 _ 언더바도 가능
    • [kebab-case] [snake_case] [PascalCase] [camelCase] ex) demo-api, object-api-demo,js
  • 변수, 함수
    • 두 개 이상의 단어를 합쳐서 사용할 때, 두 번째 단어의 첫 글자를 대문자로 표기. [camelCase] ex) channelTitle, videoNum