📝 TIL

[TIL] JS 자바스크립트 시작

오늘 ONEUL 2022. 3. 31. 01:46

✍ Today I Learned

  • 자바와 자바스크립트는 전혀 다른 언어이다.
  • 자바스크립트는 프론트 영역의 프로그래밍 언어이다.
    1. 서버가 아닌 브라우저가 해석
    2. html과 css의 아키텍쳐를 다 품고 있음
  • 프로그래밍을 왜 하는 걸까? 선택을 효율적으로 하기 위해서
  • 컴퓨터의 주요 5대 장치는? 입력, 출력, 연산, 제어, 기억
  • 백 틱(`)을 사용하면 ${}을 이용하여 내부에 코드를 삽입할 수 있다.
  • 변수를 선언할 때 ES6(2015)부터는 let 사용을 권장한다.
  • CamelCase → 자바, C, C++, C#에서 주로 사용
  • snake_case → 자바스크립트, 파이썬에서 주로 사용(권장 방식)
  • 자바스크립트에서 선언 없이 변수를 할당하면 그 변수는 전역에 영향을 미치므로 가급적 사용 X (권장 방식은 아님)
  • 변수명은 의미를 바로 알 수 있게 작성해야 한다.
  • const(상수)란 한번 선언 및 초기화를 하면 변경할 수 없는 변수를 의미한다. (대문자 SNAKE_CASE 사용)
  • NaN(Not a Number)의 데이터 타입은 number이다.
  • null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미한다.
  • undefined란 null과는 달리 '타입'이 정해지지 않은 것을 의미한다.
  • type of를 사용하면 데이터 타입을 알 수 있다.
  • 자바스크립트에서는 리터럴 방식을 권장한다. new 키워드는 메모리의 사용률을 높인다.
  • 증감 연산자(++, --)를 변수 앞에 사용한 경우와 변수 뒤에 사용한 경우에 따라 변수의 값을 업데이트하는 순서가 바뀐다.
  • 동등 연산자(==)는 두 피연산자의 값이 같으면 참(true)을 반환한다. 이때 타입이 다르면 강제로 변환한다. 하지만 일치 연산자(===)는 타입의 변환 없이 값이 같고, 타입도 같아야만 참(true)을 반환한다.
num1 = 10;
num2 = '10';
console.log(num1 == num2); // true 값만 비교
console.log(num1 === num2); // flase 값과 타입 모두 비교
  • 피연산자가 둘 다 문자열이면, 문자열의 첫 번째 문자부터 알파벳 순서대로 비교한다. (ASCII 코드)
console.log('문자열 비교')
num1 = 'abcdeg'; // 97 98 99 100 101 103
num2 = 'abcdefg'; // 97 98 99 100 101 102 103
// 문자의 같은 자리수의 아스키 코드값이 다를 때 까지 비교
console.log(num1 > num2); // true 문자의 같은 자리수의 ASCII 코드값 비교