[부트캠프] JavaScript 1일차

RedPanda·2022년 7월 19일
0

<목차>
1. 자바스크립트란?
2. 개발 환경
3. 기본 문법
4. 데이터 타입 & 변수
5. 연산자
6. 제어문
7. 객체 - property + method
8. 함수
9. 스코프
10. 실행 컨텍스트
11. 클로저
12. ES6 추가 기능
13. Number, Math, Date, String
14. 배열
15. 이터러블
16. 스프레드 문법 - ex) map, split...
17. 비동기 프로그래밍
18. 프로미스 - callback 함수의 개선 1
19. async / await - callback 함수의 개선 2
20. 최종 프로젝트

필기 내용

  • Python, Java와 달리 설치 없이 사용이 가능한 JS -> 웹브라우저 언어
  • JS는 웹페이지에서 인터렉티브한 부분을 맡고 있음 -> 설정에서 끄면 버튼작동 또는 로그인 X
  • Ajax : 웹페이지를 렌더링할 때 비동기로 렌더링할 수 있게 함 -> ex) 버튼 누른 부분만 바뀌게 함
  • 인터프리터 VS 컴파일러
  • ES6 : JS의 개발 명세. JS의 버전
  • 크로스플랫폼 : 다양한 환경(플랫폼)에서 작업할 수 있음 (ex. React) -> 기능이 많아짐에 따른 개발 복잡도 증가
  • npm : 외부 라이브러리를 설치할 수 있는 환경(?)
  • 8진수 : 0o~, 16진수 : 0x~

<VS Code 단축키>

  • 하단 바 색깔이 보라색 -> 연결된 폴더 X
  • auto rename tag : 태그 자동 수정
  • prettier : 코드 포메팅
  • !+tab : html 베이스 단축키
  • ctrl + B : 사이드바 관리
  • script 태그는 body 밑으로 보내자!
  • ctrl + shift + F : 전체 검색
  • ctrl + E : 빠른 파일 검색
  • ctrl + / : 빠른 주석 입력
  • alt + shift + a : 범위 주석 입력

<JavaScript 필기>

  • html 주석 : <!-...... ->

  • 평가된다?

  • 문 VS 표현식 : 문은 하나의 문장, 표현식은 문장을 구성하는 요소

  • 객체(Object) : {key : property}의 집합

  • 가비지 컬렉터 : 원시 타입(boolean, undefined...)는 pass by value 이므로 메모리의 값을 계속적으로 할당하면서 변수는 메모리 주소만 가리킴 -> 가비지 컬렉터로 사용하지 않는 메모리를 정리해줌(interpreter)

  • 8,16진수는 정수로 변환해주기 때문에 Number 타입을 가짐 -> 등호가 성립

  • null과 undefined의 차이 : undefined는 비어있으나 null은 비어있는 상태를 나타내준 것. 메모리 할당은 되어있지 않다고...

  • 객체(Object) : 참조에 의한 전달로, 주소를 가리키게 됨

  • ReferenceError : 선언하지 않은 변수에 접근했을 시에 나타나는 에러

  • 변수의 동적타이핑 : 다른 언어와 다르게 JS에서는 앞서 할당했던 데이터타입과 다른 값을 넣을 수 있음.

  • null은 object 타입! -> JS의 오류이나 수정X

  • 변수 호이스팅 : var에 한정하여 최상단에 변수를 참조하는 방법 -> 변수가 재선언되어도 문제되지 않음 (인터프리터는 런타임 이후에 raw별로 해석하지만 호이스팅은 런타임 이전에 해석되므로 가능!)

  • 문자열 + 숫자 = 문자열 , 문자열 == 숫자시, 문자열의 숫자가 다른 숫자와 같으면 true (JS는 ===를 사용하여 타입까지 비교를 함)

  • 삼항연산자 -> [변수 비교 연산식 ? true시 리턴값 : false시 리턴값]

**추가**
런타임과 컴파일 타임에 대한 설명 -> 링크텍스트

여담

미리 공부한 내용이라 아는 내용이 대부분이었지만... 모르는 부분도 있어서 수업을 듣길 잘했다고 생각했다ㅎㅎ

앞으로 배울 내용이 많은데 그때도 지금처럼 여유롭게 들을 수 있을지 의문이다...

profile
끄적끄적 코딩일기

0개의 댓글