Section 4. Type

Udemy - JavaScript: The Advanced Concepts

Section 4. Types in Javascript

JS의 7가지 타입

  • number
  • string
  • boolean
  • undefined
  • null (typeof null === 'object')
  • symbol (ES6 부터)
  • object
    . function (typeof func === 'function')
    . array 체크는? Array.isArray();

undefined

absence of definition
변수는 선언했는데 값을 할당하지 않음

null

absence of value
변수를 선언하고 값이 없음을 할당...?
명시적으로 값의 부재를 나타내고싶으면 null을 권장

primitive vs non-primitive

  • primitive : object 타입 제외 전체 - 값을 1개만 가짐
  • non-primitive : object 타입

object의 복사

var obj = {...}
var shallow = obj;
var deep = JSON.parse(JSON.stringify(obj)); 
//deep copy는 다른 방법들도 있음

강제 형변환

https://dorey.github.io/JavaScript-Equality-Table/
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness

  • == 사용해 비교할때, 타입이 다르면 맞춰서 비교
  • if 조건문 판단시
    • true : true, number(0제외), string(""제외), 배열(빈배열 포함), 객체(빈객체 포함)
    • false: false, 0, "", null, undefined, NaN
  • Object.is(a, b) : +0/-0(false), 0/-0(false), NaN/NaN(ture) 비교가능

Languague Type

dynamic vs static : 변수 선언시 타입을 지정하니? no <---> yes
weak vs strong : 자동 형변환 되니? yes <---> no

//javascript 
var a = "hi";	//dynamic
a + 10		//hi10 : weak

//python
var a = "hi";	//dynamic
a + 10		//error : strong

//java
string a = "hi";	//static
a + 10			//error : strong

좋은 웹페이지 즐겨찾기