Javascript
비교 연산자
개념
연산자 양쪽의 두 값을 비교한다. 비교 연산자에는 동치 연산자와 관계 연산자가 있다.
- 동치 연산자 : 같다는 의미의 ==, ===, 같지 않다는 의미의 !=, !== 가 있다.
- "=="는 느슨한 동등 비교 연산자로, 데이터 타입은 달라도(예. "3"과 3) 값이 같으면 성립한다.
- "==="는 좌항과 우항의 값이 데이터 타입까지 완벽히 같을 때 성립하는 일치 연산자이다. 보다 엄격하게 비교한다.
- 관계 연산자 : 숫자에 대해 크기를, 문자열에 대해 사전순을 비교하는 >, <, >=, <= 가 있다.
사용법
비교 연산자가 있을 때는 양쪽의 각 항을 나눠서 코드를 실행한다. 다른 산술 연산자(+, -, *, /)처럼 괄호 안을 먼저 계산한 뒤 왼쪽에서부터 차례차례 실행하는 것이 아니다.
let fullname = "자바스크립트";
let lastname = "스크립트";
if (fullname === "자바" + lastname) {
}
fullname과 "자바"가 같은지 먼저 계산 후 lastname을 더하는 것이 아니라 오른쪽 항 코드의 실행 결과("자바" + lastname)를 왼쪽 항(fullname)과 비교한다. 따라서 괄호 안의 계산 결과는 true가 나온다.
논리 연산자
개념
논리 연산자에는 또는(or)의 의미인 "||"와 그리고(and)의 의미인 "&&"가 있다.
사용법
여러 번 논리 연산자를 겹쳐쓸 때 해석이 복잡해질 수 있으니 명확하게 하기 위해 괄호로 묶어준다. 괄호로 묶이지 않고 A || B && C 라고 쓴다면 컴퓨터는 왼쪽에서부터 읽기 때문에 A이거나 B이자 C일 때, 즉 A || (B && C) 라고 해석한다.
배열형 메소드
개념
배열형에 사용할 수 있는 기본 내장 메소드들을 정리해보자.
- unshift() : 배열의 맨 앞에 요소를 추가하는 메소드.
- push() : 배열의 맨 마지막에 요소를 추가하는 메소드로, unshift()와 반대.
- pop() : 배열의 맨 마지막 요소를 제거하는 메소드. 제거된 마지막 요소를 반환한다.
typeof()
개념
값의 데이터 타입을 알려주는 메소드.
- typeof(array) : 배열은 확장된 객체이기 때문에 데이터 타입이 object로 나옴.
- typeof(null) : null은 빈 객체를 참조하고 있기 때문에 데이터 타입이 object로 나옴.
- typeof(NaN) : NaN은 숫자에만 사용해야 하는 연산을 다른 타입에 사용할 때 반환되는 값으로, 해당 값이 숫자가 아니라는 뜻이다. 하지만 typeof() 메소드를 쓰면 number가 나온다.... 띠용
slice()
개념
문자열의 특정 위치부터 특정 위치까지를 잘라내는 메서드이다. 잘릴문자열.slice(시작 위치, 끝 위치)로 쓰며, 시작 위치와 끝 위치는 인덱스값으로 표시한다. 이때 주의할 점은, 끝 위치는 잘릴 때 포함되지 않는다는 점이다.
join()
개념
배열의 요소들을 연결해 하나의 문자열로 만들어주는 메소드이다. 배열.join("구분자") 으로 사용한다. 구분자는 요소들이 연결되는 사이에 들어갈 문자열이다. 생략하면 ,(반점)이 들어간다.
문자열과 숫자의 계산
개념
문자열과 문자열을 + 연산자로 더하면 결합된다. 문자열과 숫자를 +로 더하면 숫자도 문자열로 결합해준다.
그런데 숫자에서만 사용할 수 있는 - 연산자를 문자열과 숫자 사이에 쓰면 계산할 수 없기 때문에 문자열을 숫자로 바꿔 계산한다. 이때 문자열이 텍스트로 표현된 숫자일 때 제대로 계산되어버리므로 헷갈릴 수 있다. 따라서 숫자형으로 변환한 후 계산하는 것이 좋다.
- Number("텍스트로 표현된 숫자") : 텍스트로 표현된 숫자를 숫자형으로 변환한다. String(숫자)와 반대 기능.
- parseInt("텍스트로 표현된 숫자") : 텍스트로 표현된 숫자를 정수로 변환한다.
- parseFloat("텍스트로 표현된 숫자") : 텍스트로 표현된 숫자를 실수로 변환한다.
하지만 이런 특성을 이용하여 데이터 타입을 바꿀 수 있기도 하다. 숫자를 문자열로 바꾸고 싶을 때 숫자 + "" 를, 문자열을 숫자로 바꾸고 싶을 때 문자열 - 0 을 하면 된다.
'TIL' 카테고리의 다른 글
[TIL-107] 위코드 6일차: JS replit 22 (0) | 2022.01.30 |
---|---|
[TIL-106] 위코드 5일차: JS replit 21 / 자바스크립트 세션 / 개발자 도구 (0) | 2022.01.28 |
[TIL-104] 위코드 3일차: JS replit 1~7 / HTML&CSS wrap-up (0) | 2022.01.26 |
[TIL-103] 위코드 2일차: HTML&CSS replit 14~24 (0) | 2022.01.25 |
[TIL-102] 위코드 1일차: HTML&CSS replit 1~13 (0) | 2022.01.24 |