JavaScript

타입 변환,단축 평가

Hun-bot 2022. 4. 29. 02:22
728x90
반응형

명시적 타입 변환 | 타입 캐스팅

var a=5;

var n=a.toString()

생성자 함수 : String ,Number , Boolean을 사용하는 방법

toString , parseInt 등등 

 

암묵적 타입 변환 | 타입 강제 변환

var a=5;

var x=5+'' //string으로 변환된다.

//문자열 타입으로 변환

어떤 타입이 앞에오고 + '' 이렇게 문자열 타입으로 암묵적 변환을 하게되면
대부분 문자열로 변환된다.

//숫자 타입으로 변환

1- '1' // 0
2 * '10' // 20


+ 단항 연산자 사용

+ '0' // 0
+ '2' // 2
+ 'hi' // NaN

+ true //1
+ false //0

+null //0

불리언 타입

거짓으로 평가되는 값만 알아두면 된다.

false / undefined / null / 0,-0 / Nan / ' ' (빈 문자열)

나머지는 모두 true로 평가된다.

 

단축평가

- 논리 연사의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는 것을 말한다.

-> 표현식을 평가하는 도중 평가 결과가 확정나면 나머지 평가 과정을 생략하는 것.

단축평가 평가결과
true && anything anything
false && anything false
true || anything true
false || anything anything

(리액트를 공부하면서 자주 사용했다)

 

var hi=true;

var say='no';

hello=say && '반가워요'

log(hello) ==> '반가워요'

 

단축 평가의 유용한 패턴

*null , undefined 여부 확인

var hi=null
var say=hi.value // TypeError


var hi=null;
var say= hi && hi.value //null

*함수 매개변수에 기본값

function simple(s){
	s= s|| ''
    return s.length;
}

아래처럼 인수를 전달하지 않으면 매개변수에는 undefined가 할당되어서 에러가 발생할수도있다.
simple() //0

simple('dd') //2

단축평가를 사용해서 매개변수의 기본값 지정

function simple(s=''){
    return s.length;
}

simple() //0
simple('dd') //2

 

옵셔널 체이닝 연산자

-> ?. 

좌항의 피연산자가 null or undefined일 경우 undefined를 반환하고, 아니면 우항의 프로퍼티 참조를 이어간다.

var hi=null;

var say= hi?.value;

log(say)  //undefined

우항의 프로퍼티 참조 (?) 정리하면서 다루겠다.
var hi='';

var length= hi?.length;
log(length) //0

다른 점
var length= hi && hi.length;
log(length) //''

null 병합 연산자

-> ??

좌항이 null,undefined면 우항 반환, 아니면 좌항 반환

var hi= null ?? 'print';
log(hi) //print

var emp= '' ?? 'print';
log(emp) // ''

 

728x90
반응형