- 컴파일 언어: 소스 코드를 실행하기에 앞서 기계어로 번역하는 행위
- 컴파일러 : 컴파일을 수행하는 소프트웨어
=> 소스 코드 여러 개를 하나로 묶어 컴파일 한 후에 실행하는 프로그래밍 언어가 컴파일 언어! (C, C+, JAVA 등) ..- 컴파일 언어로 작성한 프로그램은 컴파일 하는 데는 오래 걸리지만, 실행되는 속도가 빠르다
- 인터프리터 언어 : 프로그램을 한 줄마다 기계어로 번역해서 실행하는 프로그래밍 언어
- 인터프리터: 프로그램을 번역하여 실행시키는 소프트웨어
자바스크립트, 파이썬 등- 인터프리터 언어는 프로그램을 바로 실행할 수 있고, 동작을 확인해 가면서 프로그램을 개발할 수 있음.
- 인터프리터 언어다
- 동적 프로토타입 기반 객체 지향 언어
- 동적 타입 언어
- 함수가 일급 객체
- 함수가 클로저를 정의
- 객체타입 = 참조타입
객체(object) 여러 값들을 묶어놓은 것
L 메모리 낮은 주소
|
code > 코드
data > 전역변수/정적변수(원시타입의 자료 (숫자/문자 등))
hip > 동적 데이터(객체(object/함수/배열 등 크기가 정해지지 않은 애들)
stack > 함수에서 쓰는 지역변수/매개변수 등
|
H 메모리 높은 주소
- 자바스크립트 프로그램은 유니코드 문자로 작성 (알파벳, 숫자, 기호, 한국어 일본어 등)
- 대소문자 구별함
- 프로그램 구성하는 최소 단위를 토큰(어휘)라고 한다
- 공백을 넣지 않고 나열하면 토큰 판별할 수 없음 EX)return n을 returnn 이라고 표기하면 returnn으로 인식, 토큰 사이에 공백 문자를 여러개 입력해도 공백문자를 하나만 입력한 것으로 간주.
- 연산자 앞뒤 공백문자, 괄호 앞 뒤의 공백문자, 세미콜론, 쉼표, 콜론, - 마침표 앞 뒤의 공백문자는 생략 가능.
- { 문자 다음에는 반드시 들여쓰기 해줘야해
- 문장 끝나면 ; 붙여주기
- 중괄호{}로 감싼 코드를 복합문/블록문이라고 부름, 복합문 끝에는 세미콜론 붙이지 않아.
- 빈문장 끝에 ; 붙이면 하나의 빈 문장이 됨 아무런 작업x
- 세미콜론 자바스크립트 프로그램이 자동으로 추가해줘
- 주석: /주석문/ , 각 줄 끝에 // 추가하면 단행 주석
- 변수(variable) 데이터가 저장되는 공간 /값을 담기 위해 이름을 붙인 상자/ 메모리에 일정한 크기의 영역으로 생성/ 메모리에 저장되는 주소
- 변수 키워드 : var let const
- 변수를 써서 데이터를 저장하면 메모리에 저장
let a = 0
(let < 나 이제 변수 선언 할거야~ a는 내가 붙인 이름이고 =0 은 a라는 변수에 0이라는 값을 할당한 것)
= 은 할당 하는 것
- 변수 선언
var / let / const
사용자가 정의 하는 이름을 식별자라고 한다
- 사용할 수 있는 문자는 알파벳, 숫자, 밑줄_(하이픈-은 안돼) , 달러기호$
- 첫 글자는 숫자로 사용할 수 없다, 첫글자는 알파벳, 밑줄_, 달러기호$ 중 하나여야 하는겨
- 예약어는 사용 안 됨
- 캐멀표기법:두번째 이후 단어의 첫 글자를 대문자로 표기하고 나머지는 소문자로 표기 (newName , createLifeGame)
- 파스칼 표기법 각 단어의 첫 글자를 대문자로 표기하고 나머지는 소문자로 표기합니다.
- 밑줄 표기법 모든 단어를 소문자로 표기하고 단어와 단어를 _ 로 구분
테이터타입과 변수의 동적 타이핑
- 데이터 타입 : 숫자나 문자열처럼 변수에 저장하는 데이터 종류를 뜻한다. 자바스크립트는 변수에 타입이 없으므로 변수에 모든 타입의 데이터를 저장할 수 있어
데이터 타입- 원시타입 : 숫자, 문자, 논리값, 특수한 값(undefined, null), 심벌 원시타입 데이터는 데이터를 구성하는 가장 기본적인 요소로 불변값
- 객체타입 : 원시 타입에 속하지 않는 것 , 참조 타입
벡틱 문자로 결합하기 `
`안에 넣기 변수는 ${ } 안에 넣기 < 엔터, 공백도 인식해~~
띄어쓰기는 템플릿 리터럴 벡틱 ` 줄바꿈 하고싶으면 \n 하면 개행문자 쓸 수 있음
- undefined : 정의되지 않음(값을 할당하지 않은 결과)
- null – 아무 값이 없음을 표현한 리터럴
둘 다 값이 없음 표현- 자바스크립트에서 거짓이라고 취급하는 값
0, -0, null, undefinded, NaN, ''