[javascript] javascript 기초공부 - 1 : 타입강제와 약한 형식화, 단축평가 값

 

javascript 기초공부 - 1 : 타입강제와 약한 형식화, 단축평가 값


자바스크립트가 알지 못하는 데이터 타입을 사용하면 자바스크립트는 오류를 발생시키지 않고 가능한 작업을 수행하려고 시도한다.

자바스크립트는 내부적으로 데이터 타입을 변환하여 작업을 완료할 수 있다.
이를 타입강제(type coercion) 이라고한다.
예를 들어 '1' > 0 이라는 구문을 실행할때 숫자 '1'은 1로 변환될 수 있다. 그결과 이 표현식은 true로 표현된다.

자바스크립트는 약한형식화(weak typing)을 사용한다.

데이터 타입

  • string : 텍스트
  • number :  숫자
  • Boolean : true / false
  • null : 빈값
  • undefined : 변수가 선언되긴 했지만 아무런 값도 대입되지 않은 상태

false로 취급될 수 있는 값

var value = false;
var value = 0;
var value = '';
var value = 10/' '; //Infinity
var value = 10/"aaa"; // NaN
var value;
var value = NaN;

true로 취급될 수 있는 값

var value = true;
var value = '1';
var value = '0';
var value = 'false';
var value = ' ';


NaN== NaN: false NaN은 false로 취급될 수는 있지만 이와 동일한 것으로 취급될 수 있는 다른 값은 존재하지 않는다.(정의되지 않은 숫자이기 때문)

단축평가값

논리연산자들은 왼쪽에서 오른쪽으로 실행된다.
이 연산자들은 결과를 얻게 되는 순간 단축평가(즉, 평가의중단)을 실행한다.
그래서 그 결과값은 true , false 가 아닌 중단하게 된 계기가 된 값을 리턴한다.


var apple = '사과';
var present = apple || 'banana';
console.log(present); //'사과' 

var apple;
var present = apple || 'banana';
console.log(present); // 'banana'

true로 취급할 수 있는 값이 발견되는 순간 나머지 항목에 대한 평가는 더이상 진행되지 않는다.



댓글

이 블로그의 인기 게시물

[파이썬] #2-모듈설치 및 스파이더(spyder)사용

[Tool-Tip] 에디트플러스에서 자동정렬기능 추가하기

[파이썬] #1- 아나콘다 설치, 아나콘다 파이썬 환경 만들기