아래 내용은 이 글을 한국어로 정리한 것입니다
자바스크립트의 변수 이름은 case-sensitive
하다.
const name
const Name
const NAME
// 모두 다른 변수명
변수 이름은 self-descriptive
하게 지어야 한다. 즉 변수명을 보고 어떤 내용인지 알 수 있어야한다.
const value = 'Robin';
const val = 'Robin';
const firstName = 'Robin'; // Good!
camelCase
const PascalCase;
const snake_case;
const kebab-case;
const firstName; // Good!
✨ 심지어 직접 변수 선언 시 -
는 인식이 안됨
변수명을 is
, are
, has
등으로 시작하면 Boolean 값인 것이 명확해진다.
const visible = true;
const isVisible = true; // good
const equal = false;
const areEqual = false; // good
const encryption = true;
const hasEncryption = true; // good
변수명을 동사의 형태로 만드는 것이 함수의 역할을 더 명확히 드러냄
get, fetch, push, apply, calculate, compute, post 등
// bad
function name(firstName, lastName) {
return `${firstName} ${lastName}`;
}
// good
function getName(firstName, lastName) {
return `${firstName} ${lastName}`;
}
💡 메소드 또한 동일
클래스 선언은 항상 PascalCase로 한다
class CarManufacturer {
constructor ( ) {
}
}
React와 같은 프레임워크에서 사용하는 컴포넌트는 클래스와 마찬가지로 PascalCase로 선언
변수명/함수명/메소드명 앞에 _
가 있는 경우 있음 ➡️ Private
자바스크립트에 private을 선언할 수 있는 방법이 있는 것은 아님, 하지만 _
를 통해 이를 나타내고, 다른 개발자들에게 알리는 것
예) 클래스 내부에서만 사용하고, 외부에서는 접근하지 않았으면 하는 메소드
항상 똑같아야하는 상수를 변수 선언할 때엔 UPPERCASE
로 나타냄
var SECONDS = 60;
var MINUTES = 60;
var HOURS = 24;
var DAYS_UNTIL_TOMORROW = 1;
// 두 단어 이상인 경우는 _ 사용
자바스크립트 프론트엔드 어플리케이션의 경우 PascalCase가 표준
UserProfile.js
, UserList.js
, UserItem.js
등
자바스크립트 백엔드 어플리케이션의 경우 kebab-case가 표준
user-route.js
, messages-route.js
등
DataBase Markup Language.
데이터베이스 모델링 실습을 진행하며 dbdiagram.io에서 사용한 마크업 언어.
Table drink as U {
id int [pk, increment] // auto-increment
full_name varchar
created_at timestamp
country_code int
}
Table countries {
code int [pk]
name varchar
continent_name varchar
}
as (alias)
: 다른 이름 만들기
pk
: primary key
increment
: 자동 오름차순
Ref: U.country_code > countries.code
Ref: merchants.country_code > countries.code
>
다대일 관계
<
일대다 관계
-
일대일 관계
Table order_items {
order_id int [ref: > orders.id]
product_id int
quantity int [default: 1]
}
Ref: order_items.product_id > products.id
Table orders {
id int [pk]
user_id int [not null, unique]
status varchar
created_at varchar [note: 'When order created'] // add column note
}
[ref: >orders.id]
: inline으로 관계 정의할 수 있음
[default: 1]
: default값 설정 가능
[unique]
, [not null]
[note]
까지 설정 가능