
Node.js가 등장하면서 자바 스크립트로도 웹 서버 애플리케이션을 개발할 수 있게 되었다.
Node.js는 웹 서버 애플리케이션을 개발할 때 꼭 필요한 간단한 모듈만 제공합니다.
속도는 매우 빠르며 유지 비용도 줄어들게 해줄 수 있다는 장점이 있는 반면, 데이터 처리와 예외 처리 과정 등이 복잡하다는 단점이 있습니다.
네이티브 애플리케이션은 제조사가 추천하는 프로그래밍 언어로 만든 애플리케이션을 의미한다.
"데스크톱 애플리케이션도 자바 스크립트로 만들자" 라는 취지로 만들어진 일렉트론이 있습니다.
웹사이트를 스마트폰의 기능을 활용할 수 있게끔 하는 하이브리드 앱
네이티브 앱처럼 만들어 주는 프레임워크인 리액트 네이티브
Javascript의 유럽에서 지정해준 현재 명칭은 ECMAScript라고 한다.
텍스터 에디터(ex. 비주얼 스튜디오 코드) + 코드 실행기 (ex. 크롬)
표현식 - 문장 - 프로그램
'키워드'란 프로그램밍 언어가 처음 만들어질 때 정해진 특별한 의미가 있는 단어입니다.
'식별자'란 이름을 붙일 때 사용하는 단어입니다. 주로 함수명 또는 변수명을 가리킨다.
식별자의 이름을 정할 때 문자, 언더바(_), 달러($)로 시작하여야 한다.
console.log()에서 console은 키워드가 아닌 '식별자'이다.
Uncaught ReferenceError : 예외 처리
Uncaught SyntaxError : 문법 오류
문자열[숫자]
alert("안녕하세요"[0]);
> 안
이때, 위치를 나타내는 숫자를 인덱스(index)라고 한다.
>"안녕하세요".length
5
나머지 연산자 (%)
비교 연산자
===: 양쪽이 같다
!==: 양쪽이 다르다
if(불 자료형) {
블 표현식이 참일 때 실행할 문장
}
- 연산자는 피연산자의 개수에 따라서
단항 연산자,이항 연산자,삼항 연산자로 구분한다.!true //단항 연산자 false 100 + 20 //이항 연산자 120 true ? 10 : 20 //삼항 연산자 10
- 불 논리합/논리곱 연산자
&&은 논리곱 연산자
||은 논리합 연산자
true && false => false
true || false => true
typeof 연산자를 사용합니다. typeof(자료형)
console.log((백틱)표현식 273 + 52의 값은 ${273 + 52 }입니다...!(백틱))
표현식 273 +52의 값은 325입니다...!
상수는 '항상 같은 수'리는 의미로 값에 이름을 한 번 붙이면 값을 수정할 수 없습니다.
반면에 변수는 '변할 수 있는 수'로 값을 수시로 수정할 수 있습니다.
상수는 쌓아서 저장할 수 있으므로 저장 효율(성능)이 좋지만, 변수는 넣고 빼는 기능이 포함되어야 하니 쌓아 둘 수가 없어서 저장 효율(성능)이 나쁘다고 생각하면 편합니다.

선언이라고 합니다. 할당이라고 합니다. const 이름 = 값
예를 들어
const pi = 3.141592
const r = 10pi * r
31.41592
여기서 특정한 이름의 상수는 한 파일에서 한 번만 선언할 수 있습니다. 만약 같은 이름으로 상수를 한 번 더 선언하면 오류가 발생합니다.
let 키워드를 사용합니다. let 이름 = 값
예를 들어
let g =9.8
let m = 10g * m = 98
g = 9.80665
g * m = 98.0665
상수와 마찬가지로 특정한 이름의 변수는 한 파일에서 한 번만 선언할 수 있습니다. 만약 같은 이름으로 변수를 한 번 더 선언하면 오류가 발생합니다.
여기서 언제 상수를 사용하고, 언제 변수를 사용해야 할까? 라는 궁금증이 생깁니다.
변경할 가능성이 생긴다면 변수를, 그렇지 않으면 상수를 사용하면 됩니다.

엄청 자주 쓰이니 꼭 인지 !
let value = 10 value += 10 20
"10" * 10 = 100 ?
이는 자바스크립트가 내부적으로 자료형을 변환하기 때문에 가능하다.
prompt()입니다. prompt(메시지 문자열, 기본 입력 문자열)


여기서 기본 입력 문자열에 "안녕하세요"라고 입력하면 상수가 선언이 된다.
이와 같이 함수를 실행한 후 값을 남기는 것을 리턴이라고 표현합니다.
문자열 외에 불 자료형도 값으로 입력받을 수 있습니다. 이때는 confirm() 함수를 사용합니다.


Number(자료)
String(자료)
Boolean(자료)
Number("273")
273
String(273)
"273"
Boolean(null)
false
대부분의 자료는 불로 변환했을 때 true로 변환됩니다.
다만 0, NaN(Not a Number), '...', "..." (빈 문자열), null, undefined 은 false로 변환됩니다.
prompt() 함수를 사용합니다. 자료형 변환이라고 합니다. prompt() vs confirm()