본문 바로가기
javascript

단항연산자, 후치, 전치, 논리 NOT연산자, 유니코드, UTF

by rami_ 2021. 9. 2.

단항 + 연산자

형태 : +value

값을 Number타입으로 변환

코드 가독성 : +를 더하기로 착각할 수 있음. Number()도 기능이 같음.

var value="8"

log(typeof value); //string

log(typeof +value); //number

log(typeof Number(value)); //number

 

단항 - 연산자

형태 : -value

값의 부호를 바꿈. +는 -로 , -는 +로

연산할 때만 바꿈(원래 값은 바뀌지 않음)

var value = 8;

log(-value); //-8

log(9+ -value); //1

log(value); //8

 

후치 ++연산자

형태 : value++

값을 자동으로 1 증가시킴. 문장을 수행한 후에 1 증가, 세미콜론(;) 다음에 증가.

var one = 1;

var value = one++ +3; //4 one++하면 1이 2가 되지만 문장안이므로 1이 증가하지 않음.

log(value); //문장이 끝난 뒤 실행했으므로 4

log(one); //2

 

전치 ++연산자

형태 : ++value

값을 자동으로 1 증가시킴. 문장 안에서 1 증가. 표현식을 평가하기 전에 1증가. 표현식에서 증가된 값을 사용함.

var one = 1;

var value = ++one +3; //5

 

후치 --연산자

형태 : value--

값을 자동으로 1 감소시킴. 문장을 수행한후에 1 감소. 세미콜론(;) 다음에 감소

var two = 2;

var value = two-- + 3; //5

log(value); //4

log(two) ; //1

 

전치 --연산자

형태 : --value

값을 자동으로 1 감소시킴. 문장 안에서 1감소. 표현식을 평가하기 전에 1감소. 표현식에서 감소된 값을 사용함.

var two = 2;

var value = --two+3; //4

 

! 연산자

논리(logical) NOT 연산자

형태 : !value

표현식의 평가를 value, false로 변환한 후 true이면 false로 false면 true로 반환.

원래 값은 바꾸지 않으며 사용할 때만 변환.

var value = true;

log(!value); //false

log(!!value); //true

 

유니코드 Unicode

세계의 모든 문자를 통합하여 코드화.

언어, 이모지 등.

코드 값을 코드 포인트(code point)라고 부름.

0000~FFFF, 10000~1FFFF 값에 문자 매핑

표기 방법 : u와 숫자 형태 (u0031은 숫자 1)

JS는 u앞에 역슬래시 \ 작성

역슬래시를 문자로 표시하려면 역슬래시 2개를 작성.

log("\\u0031"); //  \u0031

 

UTF Unicode Transformation Format

유니코드의 코드포인트를 매핑하는 방법.

UTF-8, UTF-16, UTF-32로 표기

<meta charset="utf-8">

utf-8은 8비트로 코드포인트 매핑

8비트 인코딩이라고 부름.