본문 바로가기
Front-End Study/[코딩 자율학습] HTML+CSS+JavaScript

9장_자바스크립트 기초 문법 살펴보기_1

by 코딩기 2023. 12. 3.
728x90

9.1 변수와 상수

데이터를 저장하는 공간

  • 변수
    말 그대로 변하는 수를 지칭, 값이 변하는 데이터의 저장, 관리 공간
// 예시
var num = 10 + 20;

// 각각의 의미
var // 키워드
num // 식별자
= // 연산자
10 + 20 // 표현식
; // 세미콜론

< 사용 단어 >

1. 키워드 : 역할이나 기능이 정해진 특별 단어(예약어)
2. 식별자 : 변수, 함수 등에 부여되는 이름(변수 생성 키워드와 사용시 '변수명'이라고도 불림)
3. 연산자 : 연산작업에 사용
4. 표현식 : '평가', 표현식을 실행해 하나의 결과값을 도출
5. 값 : 더 이상 평가 불가능한 데이터를 지칭
6. 세미콜론 : 하나의 '문법'이 종료됨을 의미
7. 선언 : 키워드를 사용해 식별자를 지정하는 행위
8. 할당 : '=' 기호를 이용해 변수 공간에 값을 대입
9. 초기화 : '선언'과 '할당'을 동시에 진행하는 것
  • 새로운 변수 선언 키워드 let
    var의 새로운 대체 키워드
1. 변수명 중복 불가
2. 호이스팅X
3. 스코프의 범위 차이
  • 상수
    변하지 않는 수를 의미, const 키워드를 사용해 재할당 불가 변수 선언에 사용
let num = 10;
num = 30;
console.log(num); // 출력 결과 : 30

const num = 10;
num = 30;
console.log(num); // 출력 결과 : 오류
  • 식별자 명명 규칙
    강제적, 관용적 지정 규칙
규칙 불가능 예시
식별자에 키워드 사용 불가 var,let,const
식별자에 공백 사용 불가 my School, like food
식별자 첫 글자는 영문 소문자, _, $ 기호만 사용 *name, ~age, @email
규칙 옳은 예시 옳지 않은 예시
식별자는 영문으로만 작성 name, age 이름, 나이
식별자는 의미 있는 단어로 작성 name, age a,b
표기법 설명
카멜 표기법 변수명, 함수명 작성 시 firstName, lastName
언더스코어 표기법 상수명 작성 시 first_name, LAST_NAME
파스칼 표기법 생성자 함수명 작성 시 Firstname, Lastname

9.2 자료형

기본 자료형참조 자료형으로 구분

  • 문자열
    ’ ', " "로 둘러쌓인 값의 형태
    무조건 서로 같은 따옴표로 시작하고 끝나야함
// 기본 형식
let string1 = "Hello, world!";
// 따옴표 출력 시
let string1 = "'Hello, world!'";
// 문자열 연결
let string = '문자열1' + '문자열2';

이스케이프 문자

사용 설명
\’ 작은 따옴표
\" 큰 따옴표
\n 줄바꿈
\t 수평 탭
\\ 역슬래시

템플릿 문자열
백틱(`)으로 문자열을 정의하는 방법

let string = `문자열`;
1. enter를 눌렀을 때 줄바꿈 적용(\n 사용X)
2. ${} 문법을 이용해 변수나 식을 대입 가능
  • 숫자형
    정수, 실수 구분 없이 하나의 자료형으로 취급
let num1 = 10;
let num2 = 0.1;
// 둘다 같은 숫자형

부동 소수점 표현 시에 주의

  • 논리형
    true, false를 의미하는 자료형
let boolean1 = 10 < 20; // true
let boolean2 = 10 > 20; // false
  • undefined
    변수에 임의의 값을 할당하지 않은 경우 할당되는 기본값

  • null
    의도적으로 선언한 공간을 비워둘 시 사용

  • 객체
    자바스크립트의 핵심 자료형

// 배열
let StudentScore = [80, 70, 10, 20]; // 모든 자료형 정의 가능
// 객체 리터럴
let StudentScore = {
	koreanScore = 80;
	englishScore = 70;
	mathScore = 10;
	scienceScore = 20;
}

9.3 연산자

  • 산술 연산자
    수학 연산을 수행하는 연산자
// 이항 산술 연산자
let sum = 10 + 20; // 30
let sub = 20 - 10; // 10
let mul = 10 * 20; // 200
let div = 10 / 2; // 5
let remain = 10 % 3; // 1
let expon = 2 ** 3; // 8

// 단항 산술 연산자
let increment = 10;
increment++; // 11
let decrement = 10;
decrement--; // 9 --decrement; 와 같이 전치, 후치 연산 차이 인지

// 단항 부정 연산자
let num = -10;
num = =num; // 10
  • 대입 연산자와 복합 대입 연산자
    값을 대입하는 연산 수행
let x = 10;
x += 5; // 15
x -= 5; // 5
x *= 5; // 50
x /= 5; // 2
x %= 5; // 0
x **= 5; // 100000
  • 비교 연산자
    피연산자 비교 후, 논리값을 반환하는 연산 수행
a == b
a === b // 자료형도 같아야 true 반환
a != b
a !== b // 자료형도 같아야 false 반환
a < b
a > b
a <= b
a >= b
  • 논리 연산자
연산자 설명
&& x && y x가 참이면 y 반환, 거짓이면 x반환
|| x || y x가 참이면 x 반환, 거짓이면 y반환
! !x x가 참이면 false 반환, 거짓이면 true 반환
  • 삼항 연산자
    세 항중 피연산자의 참, 거짓에 따라 반환 값을 결정
let score = 90;
let grade = score >= 90 ? 'A+' : 'B'; // 90이상인 경우 A+, 아닐 경우 B 할당
  • 형 변환
    자료형이 다른 자료형으로 변하는 것을 지칭
// 1. 암시적 형 변환
const result = 10 + "10"; // + 기호는 문자열 우선이기 때문에 1010 출력(숫자 10 문자열변환)

// 2. 명시적 형 변환
let num = 10;
let strNum = "10";
if(String(num) == strNum){ // 숫자형을 문자열로 변환하는 것을 명시
	console.log('equal');
}