Javascript 형변환, Case naming convention
자바스크립트의 강제 형변환의 세계
특이한 자바스크립트
- /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불리언 : 불리언이 숫자로 변환된다. (
true
는1
,false
는0
). - 객체vs 숫자, 문자열 : 객체는
toPrimitive
메서드에 따라 원시값으로 변환된 후 비교됨. ex) []→’’
- 동등 연산자 (
- string
- 변환 규칙
- javascript는 비교 연산자를 사용할 때 각 데이터의 타입이 다르면 강제 형변환을 진행한다.
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