부트캠프/멋쟁이 사자처럼
32+DAY_멋사 프론트엔드 부트캠프 14기_TIL
NamDoHyeon
2025. 6. 10. 17:40
What I Learned Today
오전에는 JS에서의 주석과 세미콜론, 타입에 대해 배웠다.
- JS에서의 주석은 한 줄 주석과 여러 줄 주석을 사용한다.
// 한 줄 주석
/*
어려
줄
주석
*/
- JS는 세미콜론을 자동으로 삽입(ASI)한다. 따라서 세미콜론을 추가하는 것은 선택이다.
- 하지만 세미콜론을 사용한다면 고려할 사항이 많다.
- 세미콜론을 사용하지 않는다면 단순한 규칙 하나만 기억하면 된다.
- 절대 [, (, ' 으로 줄을 시작하지 말자.
- [, (, ' 으로 줄을 시작해야 한다면 줄 앞에 세미콜론을 하나 붙여준다.
- 린터(Linter)를 사용하면 더 이상 걱정할 것이 없다.
- JS의 타입
/*
JS의 다양한 타입
기본(원시, Primitives) 타입(유형)
문자열(String) 유형
숫자(Number) 유형
불리언(Boolean) 유형 (참/거짓)
null 유형
undefined 유형
심볼(Symbol) 유형
아주 큰 정수(BigInt) 유형
*/
// ---------------------------------
// String
// ---------------------------------
// '작은 따옴표로 묶인 텍스트 데이터';
// "큰 따옴표 쌍으로 묶인 문자 값";
// It's my birthday today!
console.log("It's my birthday today!");
// 문자열 안에 따옴표를 사용하고 싶을때는 \를 사용한다.
console.log("나의 100m 달리기 최고 기록은 12'26\"이야.");
console.log('나의 100m 달리기 최고 기록은 12\'26"이야.');
// 문자열 연결(String Concatenation)
console.log("나의 100m 달리기 " + "최고 기록은 12'26\"이야.");
console.log("나의 100m 달리기" + " 최고 기록은 12'26\"이야.");
console.log("나의 100m 달리기" + " " + "최고 기록은 12'26\"이야.");
// ---------------------------------
// Number
// ---------------------------------
console.log(10000); // 10000
console.log(10_000); // 10000 코드를 볼 때 보기 쉽게 _를 사용
console.log(10.9843); //
console.log(0.49393);
// 산술 연산 (숫자 간 처리)
// +, -, *, /, %
console.log(10000000 + 112312); // 더하기
console.log(10000000 - 112312); // 빼기
console.log(10000000 * 112312); // 곱하기
console.log(10000000 / 112312); // 나누기
console.log(10000000 % 6); // 나머지
// JavaScript 숫자(정수)의 안전 범위 표현
console.log(Number.MIN_SAFE_INTEGER);
console.log(Number.MAX_SAFE_INTEGER);
// ---------------------------------
// Boolean
// ---------------------------------
true; // boolean
("true"); // string
false; // boolean
("false"); // string
// ---------------------------------
// undefined
// ---------------------------------
// 선언된 변수의 기본값으로 사용됨
undefined;
console.log(undefined);
// ---------------------------------
// Null
// ---------------------------------
null;
console.log(null);
// ---------------------------------
// Symbol
// ---------------------------------
console.log(Symbol());
console.log(Symbol(2025));
console.log(Symbol("고유식별자"));
// ---------------------------------
// BigInt
// ---------------------------------
console.log(BigInt(Number.MAX_SAFE_INTEGER + 10));
console.log(10000n);
오후에는 변수와 함수에 대해 배웠다.
- 변수
// 변수(Variables)
// ---------------------------------
// 의미없는 코드
// ---------------------------------
// 4 + 27 = 31 -> 단지 숫자
console.log(31);
console.log(4 + 27);
// ---------------------------------
// 의미있는 코드
// ---------------------------------
// 처음 가진 사과의 갯수 = 4
// 변수 선언 및 값 할당
let initialApples = 4; // camelCase
console.log("initialApples =", initialApples);
// 잘못된 변수 이름
// 공백
// let initial apples [x]
// 첫글자가 숫자
// let 4people [x]
// 예약어
// let return [x]
// 하이픈 기호
// let dark-impact [x]
// 추가로 구매한 사과의 갯수 = 27
// let 추가로_구매한_사과의_갯수 = 27;
let addBuyApples; // 기본값 (undefined)
// let addBuyApples = undefined (암묵적)
console.log("addBuyApples =", addBuyApples); // undefined
// 선언된 변수에 값 할당
addBuyApples = 27;
console.log("addBuyApples =", addBuyApples); // undefined -> 27
// console.log("추가로 구매한 사과의 갯수 =", 추가로_구매한_사과의_갯수); // 27
// 현재 내가 가진 사과의 갯수 = 처음 가진 사과의 갯수 + 추가로 구매한 사과의 갯수
let currentApples =
initialApples + addBuyApples;
console.log("현재 내가 가진 사과의 갯수 =", currentApples); // 31
// let 변수 vs var 변수
// var 변수는 잘 사용하지 않는다고 하셨다.
// 블록 스코프 (block scope)
{
var myName;
console.log(1, myName);
myName = "yamoo9";
console.log(2, myName);
}
myName = "y9";
console.log(3, myName);
{
let myName2;
console.log(1, myName2);
myName2 = "yamoo9";
console.log(2, myName2);
}
myName2 = "y9";
console.log(3, myName2);
// let 변수 vs const 변수(상수, constant)
// 변수(let) = 시간의 흐름에 따라 값이 변경됨
// 상수(const) = 처음 선언 시, 값이 할당된 이후 변경되지 않음
- 함수
// 함수란?
// 특정 순서에 따라 작업이 실행되는 코드 묶음(블록)
// drawWater 함수 [
// 1. 빈 양동이 가져오기
// 2. 양동이 들고 우물로 이동하기
// 3. 우물에서 물 길어오기
// 4. 집으로 귀가하기
// ]
// drawWater 함수 부르기(call)
// 함수 선언 (Function Declaration) 구문
function makeRamen() {
console.group("라면 먹자 !!");
console.log("1. 물, 스프, 후레이크를 한꺼번에 넣는다.");
console.log("2. 물이 끓으면 면을 넣는다.");
console.log("3. 면이 풀릴때 계란을 넣는다.");
console.log("4. 식탁으로 옮긴다.");
console.log("5. 먹는다.");
console.groupEnd();
}
// 함수 사용 (Call Function)
// 재사용성 (Reusability)
makeRamen();
// 함수 뒤 소괄호의 의미
// 동사형태
// 함수를 "호출(실행)한다" 의미 - 약속된 규칙
// 함수기능()
// 함수 이름으로 기능을 유추해보세요.
// 직관적이고 쉬운 함수 이름이 잘 지어진 이름
// playMusic(); // 음악 재생
// stopMusic(); // 음악 정지
// pauseMusic(); // 음악 일시정지
// 적절하지 않은 함수 이름
// function return () { } 예약어 사용
// function 2break() { } 첫글자가 숫자
// function conti nue() { } 공백 사용
// function cla----- ss() { } 하이픈 사용
// 함수 매개변수 (Function Parameters)
// 함수 밖에 있는 [ 전역 ] 변수 (global scope variables)
// 코드 실행 범위 어디서나 접근이 가능한 변수
// let year = 4027;
// 함수 선언
function writeDiary(year, month, day, location) {
// 함수 내부에 선언된 변수
// 함수 안에서 사용
// 지역 변수 (local scope variables)
// 변수 + 문자 = 문장
// 변수('문자') + 변수('문자') = 문자 연결
console.log(year + "년 " + month + "월 " +
day + "일에 " + location + "에 다녀온 일기를 쓴다."
);
}
// 함수 호출(실행)
writeDiary(2025, 6, 10, "서울 N 타워");
writeDiary(2025, 7, 1, "부산 광안리 해수욕장");
writeDiary(2025, 10, 30, "원주 디자인 뮤지엄");
The Problem I Faced
let 변수와 var 변수의 차이가 잘 이해되지 않았다.
그리고 var 변수를 잘 사용하지 않는 이유도 궁금했다.
나중에 오늘 배운 내용과는 방향이 달라서 나중에 알려주신다고 하셨는데 궁금한 건 못 참아..
What I Tried to Do
구글 검색을 통하여 공부했다.
How I Solved It
- var 변수
- 재할당 가능
- 중복해서 선언 가능
- 기존에 선언해 둔 변수의 존재를 까먹고 값을 재할당하는 실수가 발생하기 쉽다.
- let 변수
- 재할당 가능
- 중복 선언 불가능
- 이미 선언한 변수를 다시 선언할 경우 에러가 발생한다.
- 따라서 코드의 안정성을 높여줄 수 있는 방식이다.
- 이미 선언한 변수를 다시 선언할 경우 에러가 발생한다.
일단은 이 정도로만 기억해 두고 다음에 설명을 해주실 때 집중해서 들어야겠다.
So
Aha Moments
console.group을 사용하여 콘솔 출력값을 묶을 수 있다는 것을 알게 되었다.
심지어는 접을 수도 있어서 훨씬 보기 편해졌다.
함수 이름은 동사형태로 지어야 한다.
JS 실습도 조금씩 들어있어서 해보았는데 너무 재밌다.
HTML, CSS보다 재미있는 것 같다
반응형