본문 바로가기

자바스프링웹공부(2024)/자바스크립트

2024.07.30. 자바스크립트 자료형, 연산자

반응형

[ 자료형 ]

- 0< X <1 : X는 무한대가 될 수 있다.
  실수끼리의 연산을 할때  컴퓨터가 실수를 표현하는 방법은 근사치 표현법을 씀. 
  0.1 + 0.2 = 0.300004 // <- 이런식으로 나옴.
  따라서 실수끼리의 연산은 지양해야함.


*이스케이프 문자 : 화면에 표시되지 않지만 줄바꿈이나 탭처럼 문서에서 기능을 수행하는 문자.
- \\ 백슬래쉬
- \' 작은따옴표
- \"큰따옴표
- \n 개행문자
- \t 탭문자

* 템플릿 리터럴 : 문자열과 변수, 식을 섞어서 하나의 문자열을 만드는 표현 형식. 백틱(`)을 사용해 문자열을 만든다.
 

let name ='Kim'
let classRoom = 204
console.log(`${name}님 ${classRoom}호에 입장하세요`)

 

[ 연산자 ]

- 후행 연산자로 사용될 경우 다른 연산을 먼저 수행한 후에 마지막으로 해당 피연산자의 값을 변화시킴.

let test = 10;
let b = test++ +5;
document.write("test = "+ test + ", b" + b +  "<br>") // 예상 a-11, b-15


- 선행연산자는 먼저 수행함.

let a2 = 10;
let b2 = ++a2 + 5;
document.write("a2 = "+ a2 + ", b2" + b2 +  "<br>") // 예상 a-11, b-16


- 기호를 3개 사용한 동등비교연산 : 실제 데이터 비교 + 타입 비교까지 수행하여 모두 일치할 경우에만 동일한 값으로 판단함.

document.write("\"10\" +10 == "+("10" == 10) + "<br>"); 	//true, 값만 비교.
document.write("\"10\" +10 === "+("10" === 10) + "<br>"); 	//false, 자료형이 string과 number
document.write("\"2\" + 10 != "+("2" != 10) + "<br>"); 		//true
document.write("\"2\" + 10 !== "+(2 !== 10) + "<br>");		//true, 자료형과 값이 모두 다르므로.


- 비교 연산자를 통한 문자열 크기비교 : 복수개의 문자라하더라도 앞에서부터 각각의 문자를 차례대로 아스키 코드 형태로 비교함.

// 대문자는 소문자보다 아스키코드 값이 작으므로 Javascript 가 더 작다. 
document.write("\"Javascript\" > javascript !== "+("Javascript" > "javascript") + "<br>"); // false
document.write("\"javaScript\" > javascript !== "+("javaScript" > "javascript") + "<br>"); // false


- 덧셈기호(+)의 변신

document.write(2+"2");  // number + string = string. 따라서 결합연산수행하여 답은 22가 됨.
document.write(2+2+"2");// 연산자 우선순위가 동일하므로 2+2 수행후 "2" 연산 따라서 답은 42가 됨.

// 덧셈을 제외한 나머지 산술연산자는 다른 기능없이 산술 연산만 수행함.
document.write(2-"2"); // 산술연산이므로 데이터 타입을 일치시킨 후 연산(2-2=0)



 3. 논리연산자 : 피연산자가 논리적인 조건에 부합되는지 검사.
  => 논리연산에 사용되는 피연산자는 무조건 boolean 타입(true/false)만 사용
 1) AND (&&)  - 두 피연산자 모두 true일 경우 true, 하나라도  false면 false
 2) OR (||) - 두 피연산자 모두 false일 경우 false, 하나라도  true면 true
 3) NOT (!)  - 단항연산자, 피연산자의 현재 boolean값 반전시킴. true->false, false->true.

반응형