여러 구문은 세미콜론으로 구분이 가능하다.
세미콜론이 자동으로 삽입되기도한다.
이런것을 세미콜론 자동삽입이라고하는데 때로 자동삽입방식이 동작하지 않을 때도 있다.
코드 스타일 지침서 대부분에서는 문장의 끝에 세미콜론을 붙이는 것을 권장하는 데 코드블록 ({...}) 이나 코드블록과 함께 구성되는 문법 반복문 등의 끝에는 세미콜론을 붙이지 않아도 괜찮다.
(함수 선언문 끝, 반복문 끝)
모던 자바스크립트의 모든 기능을 활성화하기 위해서는 use strict를 스크립트 맨 위에 적어줘야한다.
use strict가 없어도 코드가 정상적으로 작동하기는 하지만 모던한 방식이 아니라 옛날 방식으로 하위 호환성을 지키며 작동한다.
몇몇 기능들은 엄격모드를 자동으로 활성화한다.
변수는 let, const, var등을 이용해 선언이 가능하다.
변수 명명 규칙:
$
와 _
만 사용가능자바스크립트의 기본 자료형
typeof 연산자는 값의 자료형을 반환함.
예외
호스트 환경이 브라우저 ==> UI함수를 이용해 사용자와 상호작용할 수 있다.
==> 이 세가지 함수 모두 모달창을 띄워주는데, 모달이 닫히기 전까지는 코드실행이 중지됨.
산술연산자. => 사칙연산자와 나머지 연산자%
, 거듭제곱연산자 **
가 있다.
이항 덧셈연산자 +
는 피연산자중 하나가 문자열일때 나머지 하나를 문자형으로 바꾸고 두 문자열을 연결한다.
할당연산자 =>
a = b형태의 할당 연산자와
a *= b형태의 복합할당 연산자가 있다.
비트연산자 =>
인수를 32비트 정수로 변환해 이진연산 수행.
조건부 연산자 =>
조건부 연산자는 자바스크립트 연산자중 유일하게 매개변수가 3개인 연산자.
sum ? result1 : result2
sum이 true면 result1이 아니라면 result2가 반환된다.
nullish 병합연산자 =>
??
는 피연산자 중 실제 값이 정의된 피연산자를 찾는데 쓰인다. a가 null이나 undefined가 아니면 a ?? b의 결과는 a고 null이나 undefined라면 b가된다.
비교연산자 =>
동등연산자 == 는 형이 다른 값끼리 비교시에 피연산자의 자료형을 숫자로 바꾼 뒤 비교를 진행한다.
null과 undefined는 자기끼리 비교할 때 참을 반환하지만 다른 자료형과 비교시에는 거짓을 반환한다.
기타 비교연산자들은 피연산자 자료형을 숫자형으로 바꾼 뒤 비교를 진행한다.
일치연산자 === 는 피연산자의 형을 반환하지 않는다. 형 까지 비교하기 때문이다.
크고 작음을 비교하는 연산자의 피연산자로 문자열이 들어오면 글자단위로 크기비교가 이루어진다.
(아스키코드로 변환됨. )
다른 타입의 값이 들어온다면 숫자형으로 형변환 후 비교된다.
기타 연산자도 존재.
function sum(a, b) {
let result = a + b;
return result;
}
- 함수 표현식
let sum = function(a, b) {
let result = a + b;
return result;
};
- 화살표 함수
// 화살표(=>) 우측엔 표현식이 있음
let sum = (a, b) => a + b;
// 대괄호{ ... }를 사용하면 본문에 여러 줄의 코드를 작성할 수 있음. return문이 꼭 있어야 함.
let sum = (a, b) => {
// ...
return a + b;
}
// 인수가 없는 경우
let sayHi = () => alert("Hello");
// 인수가 하나인 경우
let double = n => n * 2;
function sum (a = 1,b = 4){...}