기본문법요약

김하은·2023년 4월 29일
0

세미콜론

여러 구문은 세미콜론으로 구분이 가능하다.
세미콜론이 자동으로 삽입되기도한다.
이런것을 세미콜론 자동삽입이라고하는데 때로 자동삽입방식이 동작하지 않을 때도 있다.

코드 스타일 지침서 대부분에서는 문장의 끝에 세미콜론을 붙이는 것을 권장하는 데 코드블록 ({...}) 이나 코드블록과 함께 구성되는 문법 반복문 등의 끝에는 세미콜론을 붙이지 않아도 괜찮다.
(함수 선언문 끝, 반복문 끝)


엄격모드

모던 자바스크립트의 모든 기능을 활성화하기 위해서는 use strict를 스크립트 맨 위에 적어줘야한다.

use strict가 없어도 코드가 정상적으로 작동하기는 하지만 모던한 방식이 아니라 옛날 방식으로 하위 호환성을 지키며 작동한다.

몇몇 기능들은 엄격모드를 자동으로 활성화한다.


변수

변수는 let, const, var등을 이용해 선언이 가능하다.

변수 명명 규칙:

  • 숫자와 문자사용. 단, 첫글자에 숫자사용은 X
  • 특수기호는 $_만 사용가능

자바스크립트의 기본 자료형

  • 숫자형
  • 아주 큰 숫자를 저장할 때 사용하는 BigInt형
  • 문자형
  • Boolean형
  • 비어있음, 존재하지 않음을 나타내는 null - 독립자료형
  • 값이 할당되어있지 않음을 나타내는 undefined - 독립자료형
  • 객체형
  • 고유한 식별자 만들기 위해 사용되는 심볼형

typeof 연산자는 값의 자료형을 반환함.
예외

  • typeof null == "object" => 언어 자체의 오류이지만, 호환성을 위해 사용되고있음.(사라지지 않은 오류)
  • typeof funtion(){} == "function" => 함수는 특별한 값.

상호작용

호스트 환경이 브라우저 ==> UI함수를 이용해 사용자와 상호작용할 수 있다.

  • prompt()
  • confim() => confirm대화상자에는 매개변수로 받은 question을 넣어주어 사용자에게 보여줌. 사용자가 '확인'을 누르면 입력한 값을 반환, '취소'를 누르면 false를 반환.
    -alert()

==> 이 세가지 함수 모두 모달창을 띄워주는데, 모달이 닫히기 전까지는 코드실행이 중지됨.


연산자

산술연산자. => 사칙연산자와 나머지 연산자%, 거듭제곱연산자 ** 가 있다.

이항 덧셈연산자 +는 피연산자중 하나가 문자열일때 나머지 하나를 문자형으로 바꾸고 두 문자열을 연결한다.

할당연산자 =>
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는 자기끼리 비교할 때 참을 반환하지만 다른 자료형과 비교시에는 거짓을 반환한다.

기타 비교연산자들은 피연산자 자료형을 숫자형으로 바꾼 뒤 비교를 진행한다.

일치연산자 === 는 피연산자의 형을 반환하지 않는다. 형 까지 비교하기 때문이다.

크고 작음을 비교하는 연산자의 피연산자로 문자열이 들어오면 글자단위로 크기비교가 이루어진다.
(아스키코드로 변환됨. )
다른 타입의 값이 들어온다면 숫자형으로 형변환 후 비교된다.

기타 연산자도 존재.


반복문

  • while, do-while, for문이 있다.
  • for (let..) 이렇게 안쪽에 선언한 변수는 반복문 내에서만 사용이 가능하다. let을 생략하고 바깥에서 선언된 변수를 사용하는것도 가능.
  • 지시자 break 나 continue는 반복문 전체나 현재 실행중인 반복을 빠져나가는 데 사용된다.
  • 레이블은 중첩 반복문을 빠져나갈때 사용한다.

조건문

  • if문
  • switch문=> if문을 사용해 작성할 수도 있다. switch문은 조건을 확인시 내부적으로 일치 연산자를 사용해 비교진행한다.

함수

  • 함수종류
    - 함수 선언문: 주요코드 흐름을 차지하는 방식
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){...}
  • 함수는 항상 무언가를 반환함.
    return이 없는 경우는 undefined를 반환함.

0개의 댓글