(기술스택과 자료구조/알고리즘 강의를 같이 들어야하기 때문에 내용이 왔다갔다 하게된다)
✔= 오른쪽 데이터를 왼쪽에 넣어준다
✔== '같다'
✔키워드
정해진 용도로 동작하기 위해 정의해 놓은 단어
✔식별자
변수, 함수에 이름을 붙일 때 사용
대소문자 구별
키워드 사용 불가
숫자로 시작 불가
특수문자는 _와 $만 허용
공백 문자 포함 불가
✔현재 디랙토리는 .으로 표현
✔javascript
line by line으로 실행되는 인터프리터 형식의 언어
별도 컴파일 없음
✔코드동작흐름
요구사항을 받고
-> 개발자는 요구사항을 해결하기 위한 코드를 작성, 그 산출물 = 스크립트, 코드파일
-> 그 파일을 컴파일러 or 인터프리터로 변환을 시켜서 컴퓨터가 이해할 수 있는 언어로 제작
-> 컴퓨터가 수행
-> 그 연산값을 개발자, 사용자에게 보여줌
-> 수정, 보완되어야 할 부분들이 있으면 디버깅
✔컴퓨터 내부 동작 원리(3개의 큰 컴포넌트)
Disk(보조기억장치) -> 우리가 만든 js파일이 있는 곳
Memory(주기억장치) -> 파일 수행하면 load가 되어 메모리에 적재
CPU -> 연산되어야할 부분 메모리한테 받음, 연산결과 다시 메모리에 보냄
Memory가 어떻게 동작하는지 잘 관찰하기! (레퍼런스, 주소, 변수에 대한 할당 부분 다 메모리위에서 동작함)
✔변수
변경 가능한 값을 저장하기 위한 기억 공간 (memory)
사용하기 전 반드시 선언 필요
중복 선언 불가능
키워드 let
let이 있으면 선언이지만 없으면 변수에 대한 접근으로 다른 값으로 변경가능
let A = 123;
A = 456;
✔상수
변경 불가능한 값을 저장하기 위한 기억 공간
사용하기 전 반드시 선언 필요
중복 선언 불가능
키워드 const
상수는 보통 대문자로 표기하는 게 암묵적인 룰
const B = 123; //상수 선언 및 값 초기화
B = 456 //값 재할당 -> 에러
const C;
C = 123;
//초기화 없이 상수 선언 -> 에러
✔호이스팅
선언된 변수 및 함수를 런타임 전, 상단으로 끌어올려 제일 먼저 실행됨
var의 변수/함수 선언만 위로 올려지고 할당은 올려지지 않음
let/const 변수 선언과 함수 표현식에서는 호이스팅 발생X -> 이걸 쓰는거 추천