[JS] 데이터 타입과 연산자

daybyday·2020년 8월 29일

Javascript

목록 보기
2/15
post-thumbnail

자바스크립트 짚고 가기

국비지원 프론트엔드 과정을 듣기 시작한지 세 달 가까이 되었다. 학원에서 배우는 것도 있지만 혼자 정리하지 않으면 모조리 까먹어버릴 것 같아서 책📕을 구입했다.

인사이드 자바스크립트와 코어 자바스크립트를 구매했고 인사이드 자바스크립트 ➡ 코어 자바스크립트 순으로 읽을 예정이다. 첫 장을 요약 정리하면서부터 모르는 것 투성이라서 반성했고... 모르는 걸 알고 넘어갈 수 있어 다행이라 생각했다.

책이 나온지 좀 되어서 예전 코드라고 하던데 그래도 기초를 잡는데는 나쁘지 않을 것 같아서 정리해본다. 최신 자바스크립트는 또 공부를,,😅

지루하지만 데이터 타입부터 복습해보자😉



자바스크립트 데이터 타입과 연산자

자바스크립트 데이터 타입은 기본 타입과 참조 타입(객체타입)으로 나뉜다.

기본 타입참조 타입
숫자 Number배열 Array
문자열 String함수 Function
불린값 Boolean정규표현식
undefined
null

자바스크립트는 느슨한 타입 체크 언어로 var라는 한 가지 키워드로 변수 선언 가능.


1. 기본 타입

그 자체가 하나의 값을 나타낸다.

typeof 연산자를 통해 피연산자의 타입을 알 수 있다.

var nullVar = null;
console.log(typeof nullVar); // Object

숫자

자바스크립트는 정수형이 따로 없고 모든 숫자를 실수로 처리한다.
나눗셈 연산 시 주의할 것.

* 올림은 Math.floor() 사용

문자

문자열은 문자 배열처럼 인덱스로 접근 가능하다.

var str = 'test';
console.log(str[0], str[1]); // t e
💡 한 번 정의된 문자열은 변하지 않는다.

이 때, str[0] = 'T'라고 한다고 해서 str이 'Test'로 변하지 않는다.

str = 'Test'라고 재정의한다면 가능하겠지만
인덱스를 바꾼다고 문자열이 갱신되지는 않는다는 말 같다.

Boolean

True of False😁

null & Undefined

Undefined : 값이 할당되지 않은 변수. 💡변수 자체의 값도 undefined이다.
null : 명시적으로 값이 비어있음을 나타냄.

💡 2) 문자 의 예시에서 보았듯 null의 typeof 결과는 object이다.
따라서 null 타입인지를 확인하기 위해서는 일치연산자(==)를 사용해야 한다.


2. 참조 타입

객체 : '이름(Key):값(Value)' 형태의 프로퍼티들을 저장하는 컨테이너.

객체 생성

- Object() 생성자 함수 사용

    // 빈 객체 생성
    var first = new Object();

- 객체 리터럴 방식

  var first = {
      name: 'first',
          age: 30,
          gender: 'female'
       };

- 생성자 함수 이용

4장에서。。。

객체 프로퍼티 읽기 / 쓰기 / 갱신


- 접근방법

  • 대괄호([]) 표기법
  • 마침표(.) 표기법

- 쓰기

  var first = {
        name: 'first',
            age: 30,
            gender: 'female'
         };

- 읽기

   console.log(first.name); // first
   console.log(first['name']; // first

- 갱신

  first.age = 40;
  console.log(first.age) // 40


프로퍼티 동적 생성

자바스크립트에서는 객체가 생선된 후에도 동적으로 프로퍼티를 생성해서 해당 객체에 추가할 수 있다.

 first.major = 'computer science';
 console.log(first);
 
 // { name: 'first', age: 40, gender: 'female', major: 'computer science' }

대괄호 표기법만을 사용해야하는 경우

접근하려는 프로퍼티가 표현식이거나 예약어일 때

first['full-name'] = 'first jenny';
console.log(first['full-name']); // first jenny
console.log(first.full-name); // NaN

full-name이라는 프로퍼티의 경우 - 연산자가 있는 표현식으로 인식하므로 대괄호 표기법을 써야한다.



0개의 댓글