[멋사] js

밥슌·2025년 3월 28일
0

☕❌js

목록 보기
5/15

js는 명령문의 집합으로 구성되며 인터프리터가 명령문을 순차적으로 해석하여 실행

인터프리터와 컴파일방식의 차이

인터프리터컴파일
필요한 코드를 읽고 실행한다(처음에 모든 코드를 기계어로 번역하진 않는다)모든 코드를 읽고(기계어로 번역) 실행한다

식별자 명명 규칙

  • 변수명, 함수명, 속성명, 클래스명 등의 이름을 지을 때 사용하는 규칙

  • 영문자, 숫자, _, $만 가능

  • 특히, 첫 글자는 영문자,_, $만 가능

  • 유니코드 문자 사용 가능
    - 특수문자와 제어문자를 제외한 전세계 문자도 사용가능하지만 권장하지는 않음.

  • 대소문자 구별

  • 예약어와 키워드는 사용못함(if, for, function...)

  • 관례적인 명명 규칙
    - 변수명, 함수명에는 주로 카멜케이스(userName, userAge)
    - 클래스명에는 주로 파스칼케이스(HighSchool, Collage)
    - 대문자 상수는 스네이크 케이스(COLOR_BLUE, COLOR_RED)


  • 강형 언어
    - 변수 선언시 데이터 타입을 지정하는 언어(c++,java...)
  • 약형 언어
    - 변수 선언시 데이터 타입을 지정하지 않는 언어(js, python...)
    • 값에 따라서 자동으로 데이터 타입이 결정됨(동적 타입)

☑️ 장점

정적 타입동적 타입
컴파일 시 타입 에러를 처리하기 때문에 안정성이 높다.코드 작성 시 타입에 대한 제한이 없어 유연성이 높다.
컴파일 시 미리 타입을 결정해 실행속도가 빠르다.코드 작성이 효율적이다.

☑️ 단점

정적 타입동적 타입
컴파일 타임에 타입에 대한 제한으로 코드 작성 시 유연함이 떨어진다.타입에 대한 리스크를 런타임에 감당해야한다. (코드가 길고 복잡해질 경우 타입 에러를 찾기가 어려워짐)

데이터 타입

  • 원시타입(Primitive type)
    - number,string,boolean,null,undefined,BitInt,Symbol
    -undefined: 값이 정의되지 않음->'없다'라고도 말하지않은 경우
    -null: 값이 없음을 명시적으로 지정 (데이터 타입은 object가 된다)->'없다'라고 말한 경우
    -BigInt: 큰정수
    -Symbol: 유일한 값
  • 참조타입(Refrence type)
    - Object(Array, Function,Date,RegExp...)
profile
마트 시식코너같은 저의 벨로그에 어서오세요.

0개의 댓글