JavaScript - 기초

진경천·2024년 10월 25일

변수 선언

var val1
let val2
const val3

변수는 var let
상수는 const로 표현한다.
자바와 달리 데이터 타입으로 변수를 선언하지 않는다.

let VS var

let var
중복 선언
재할당
스코프 범위 블록 스코프 함수 스코프
호이스팅 방식 초기화하지 않은 변수참조 시 undefined 초기화하지 않은 변수참조 시 에러발생

💡호이스팅이란?
코드를 실행하기 전에 함수, 변수, 클래스 또는 import의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상
참고

데이터 타입

Primitive Type

  • 숫자 number
  • 문자열 string
  • 불리언 boolean
  • null
  • undefined
  • 심볼 symbol
    • 고유하고 변경 불가능한 값
    • 객체의 프로퍼티 키를 고유하게 설정함으로써 프로퍼티 키의 충돌을 방지

Object Type

원시 타입을 제외한 모든 것을 객체 타입으로 지칭한다.

  • Array
  • Date
  • Math
  • Object

etc..

배열

let arr = [10, "str", true, function(){console.log("Hello");}];

타입을 불문하고 한 배열안에 들어갈 수 있다.

자주 사용하는 API

API 설명
length 배열의 길이
forEach() 배열의 항목 순회
push() 배열의 끝에 항목 추가
pop() 배열의 끝의 항목 제거
unshift() 배열의 앞에 항목 추가
shift() 배열의 앞의 항목 제거
indexOf() 항목의 인덱스 찾기
splice() 인덱스 위치의 항목 제거

객체

const car = {
  name: "avante",
  mileage: 1000,
  run: function() {
    console.log("run!!");
  }
}

key : value 형태로 이뤄져있다.
객체가 가지고 있는 값을 프로퍼티(Property), 함수를 메서드라고 한다.

프로퍼티와 메서드는 .을 통해 접근할 수 있다.

car.name = "k5";
car.function();

자바의 field == JS의 property

함수

function setPerson(name, age){
  person.name = name;
  person.age= age;
  
  return "setPerson complete";
}

함수의 매개변수는 타입 없이 적는다.

연산자

  • 문자열 병합 +
  • 산술 연산자
  • 증감 연산자
  • 비교 연산자
  • 할당 연산자
  • 논리 연산자
  • 삼항 연산자

연산자의 구조는 자바와 같다.
단, 비교 연산자에는 === !== 연산이 추가 되었다.

  • === : 데이터 타입과 값이 같을 때 true
  • !== : 데이터 타입과 값이 같지 않을 때 true

    JS Standard Style에서는 항상 == 대신 ===을 쓰는 것을 권고하고 있다.
    참고

profile
어중이떠중이

0개의 댓글