이 영역을 누르면 첫 페이지로 이동
Nuhends 의 Tech Life 블로그의 첫 페이지로 이동

Nuhends 의 Tech Life

페이지 맨 위로 올라가기

Nuhends 의 Tech Life

IT / Tech / 재테크 관련 뉴스를 최대한 알기 쉽게 전달하는 Tech 블로그 입니다.

[JS] 문법정리 > 타입과 변수

  • 2020.12.09 18:43
  • 프로그래밍/JAVASCRIPT 사전
반응형

[JS] 문법정리 > 타입과 변수

JS 문법정리 > 타입과 변수


 

자바스크립트의 특징

- 싱글스레드 이벤트 기반
- 다중 패러다임
- 다이나믹 타입
- 크로스 플랫폼
- Prototype 기반

 

표준 규격

- 자바스크립트 출시 1995
- ES1 - 1997
- ES3 - 1999
- ES5 - 2009
- ES6 - 2015
- ES Next - 2020~
- http://kangax.github.io/compat-table/es5/

 

타입과 변수

 

타입의 종류

Primitive Type(원시형)

- Number : 123 / NaN / Infinity
- Boolean : true / false
- String : "sangziii"
- Undefined : undefined
- Null : null
- Symbol : Symbol() ⇒ ES6

 

1. number

자바스크립트의 경우 모든 숫자를 64비트 부동 소수점 형태로 저장

c언어의 double 타입과 유사
var num =  9 / 2; // 4.5

 

 

2. string

문자 배열처럼 index를 이용해 접근 가능 

한번 선언된 문자열은 읽기는 가능하나 수정은 불가능

 

var name = 'sangzi';
console.log(name[0]); // 's'

str[0] = 't';
console.log(name); // 'sangzi

 

3. null과 undefined

  • 두 타입 모두 값이 비어있음을 의미
  • 값이 할당되지 않은 변수는 undefined 타입, undefined 타입의 변수는 변수 자체의 값 또한 undefined
  • 자바스크립트에서 undefined 는 타입 이자 값 을 나타낸다
// null타입 변수 생성
var nullObj = null;

typeof nullObj === null; // false
nullOjb === null;        // true
- null 타입 변수인 nullObj의 typeof 결과는 null이 아니라 object
- 자바스크립트에서 null 타입 변수인지 확인하려면 일치 연산자(===) 를 사용해서 변수의 값을 직접 확인해야 함

 

Reference Type(참조형)

- Object : { name: 'sangzi', job: 'developer' }
- Array : [ 1, 2, 3 ]
- Function : function(){ ... }
- Date, RegExp 등의 Native 객체

 

타입 알아내기

typeof 연산자 : 주어진 값의 타입 이름을 문자열로 반환

 

typeof 942;          // "number"
typeof {};           // "object"
typeof function(){}; // "function"
typeof "abcds";      // "string"
typeof [];           // "object"
typeof Symbol();     // "symbol"
typeof true;         // "boolean"
typeof null;         // "object"
typeof undefined;    // "undefined"

 

형 변환

묵시적 형변환 & 명시적 형변환

  • +연산자 : 더하기 혹은 문자열 연결 의 연산의 기능을 한다.
1  +  2     // 3 : 더하기 연산
1  +  "2"   // "12" : +연산에서는 문자열의 우선 순위가 높으므로 숫자가 문자열로 변환
1  -  "2"  // -1 : -연산에서는 숫자를 빼는 기능 밖에 없으므로 문자열이 숫자로 변환

// 예상치 못한 형변환 상황 대비
1  + new Number(2) // 3 : 명시적 형변환
1 + parseInt(2)    // 3 : 명시적 형변환
1 + (+"2")         // 3 : 묵시적 형변환
  • ==, != (동등 비교 연산자) : 동등 비교 연산자는 값을 truthy value 인지 falsy value 인지 변환 후 비교한다.
  • falsy value : false 같은 값, ex) 0, -0, ''(비어있는 문자열), null, undefined, NaN
  • truthy value : true 같은 값, ex) falsy value를 제외한 전부 (빈 배열, 빈객체는 truthy value)
  • NaN(Not A Number) : 잘못된 숫자 연산시 반환값, 모든 비교연산에서 false를 반환 ex) NaN == NaN // -> false
0  ==  0   // true
"0"  ==  ""     // false
123  ==  "123"  // true
0  ==  ""       // true

 

  • ! (논리 Not 연산자) : 값이 가진 truthy, falsy 속성을 반전시킨 boolean 으로 변환한다.
!1    // false
!""   // true
!![]  // true
!!{}  // true
!NaN  // true

 

  • && (논리 And 연산자)
a && b;
// a가 true 이면 b를 반환
// a가 false 이면 b의 내용을 확인하지 않고, a를 반환

a &&  something();
// a가 true 이면 something() 함수가 실행
// a가 false 이면 실행되지 않음

 

  • || (논리 Or 연산자)
a || b;

// a가 true이면 b의 내용을 확인하지 않고 a를 반환
// a가 false이면 b를 반환

var somthing = a ||  1;
// a가 true 이면 something에 a가 할당
// a가 false 이면 something에 1이 할당
반응형
저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 > JAVASCRIPT 사전' 카테고리의 다른 글

[JS] 화살표 함수, 쉽고 빠르게 정리하기  (8) 2021.05.11
[YOU DON'T KNOW JS 정리] THIS (1)  (4) 2021.05.08
[JS] arguments 객체 그리고 유사배열 객체  (0) 2021.05.05
[JS] 문법정리 > 확실한 프로토타입 체이닝 정리  (0) 2020.12.29
[JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체  (0) 2020.12.20

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [YOU DON'T KNOW JS 정리] THIS (1)

    [YOU DON'T KNOW JS 정리] THIS (1)

    2021.05.08
  • [JS] arguments 객체 그리고 유사배열 객체

    [JS] arguments 객체 그리고 유사배열 객체

    2021.05.05
  • [JS] 문법정리 > 확실한 프로토타입 체이닝 정리

    [JS] 문법정리 > 확실한 프로토타입 체이닝 정리

    2020.12.29
  • [JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체

    [JS] 문법 정리 > 함수: 선언, 호이스팅, 일급 객체

    2020.12.20
다른 글 더 둘러보기

정보

Nuhends 의 Tech Life 블로그의 첫 페이지로 이동

Nuhends 의 Tech Life

  • Nuhends 의 Tech Life의 첫 페이지로 이동
반응형

검색

메뉴

  • 홈
  • 웹 개발
  • 경제 데이터
  • 경제 공부
  • 방명록

카테고리

  • 분류 전체보기 (127)
    • 프로그래밍 (69)
      • React (3)
      • HTML&CSS 사전 (13)
      • JAVASCRIPT 사전 (11)
      • Algorithm (23)
      • 이슈 정리 (2)
      • 개발 환경 (4)
      • NodeJS (1)
      • Typescript (4)
      • NextJS (5)
      • React-Query (2)
      • ai (1)
    • 경제 데이터 (22)
      • 주식 순위 (20)
      • 경제지표 (2)
    • 경제 공부 (25)
      • 경제 신문 읽기 (3)
      • 세금 재테크 (7)
      • 인사이트 (4)
      • 경제용어정리 (9)
      • 정부 지원 제도 관련 (2)
    • 팁 모음 (11)
      • 인터넷 (5)
      • 생활 (3)
      • SNS 맛집 (3)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 프로그래머스
  • 코딩테스트
  • 코테 풀이
  • 코테
  • softeer
  • javascript
  • 자바스크립트
  • 알고리즘

나의 외부 링크

정보

nuhends의 Nuhends 의 Tech Life

Nuhends 의 Tech Life

nuhends

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / AXZ. © nuhends. Designed by Fraccino.

티스토리툴바