JS | 연산자, 조건문, 반복문, 형 변환
✒️ECMA Script (ES6)
표준화된 자바스크립트 !
✒️데이터 타입 확인
typeof 를 통해서 데이터 타입을 확인할 수 있다.
*****typeof*****
console.log(typeof 123); // number
console.log(typeof null); // object
console.log(typeof []); // object
console.log(typeof {}); // object
하지만 이처럼 null, 배열, 객체 모두 object 로 반환하여 정확한 타입을 확인하기 어렵습니다.
그러면 데이터 타입을 확인할 수 있는 함수를 만들어 사용해봅시다.
function getType(data) {
return Object.prototype.toString.call(data);
}
console.log(getType(123)); //[object Number]
console.log(getType(true)); //[object Boolean]
console.log(getType(null)); //[object Null]
console.log(getType([])); //[object Array]
console.log(getType({})); //[object Object]
데이터 타입을 정확히 확인 가능합니다.
✒️연산자
✔️ 산술 연산자 : +(더하기), -(빼기), *(곱하기), /(나누기), %(나머지)
✔️ 할당 연산자 (=)
let a = 2
// a= a+1
a += 1 (산술 연산자 모두 사용 가능)
✔️ 비교 연산자 : ===(일치), !==(불일치), <, <=, >,>=
== 와 === 차이
‘===’는 변수 값, 유형 모두 비교
‘==’는 변수 값을 기반으로 유형을 수정한다.
✔️논리 연산자
const a = 1===1 // true
const b = "AB"==="AB"
const c = false
&& 연산자 => and 연산자 : 모두 ture 여야 ture 반환
console.log(a && b && c) // false
|| 연산자 => or 연산자 : 조건 중에 하나라도 true면 true 반환
console.log(a || b || c) // true
! 연산자 => 부정연산자 : 특정한 값의 반대 값을 반환
console.log( !a )
✔️삼항 연산자
? 연산자 : 조건 (실행명령 각각 1개뿐일 때)
(userNumber % 3 === 0)?alert("3의 배수입니다."):alert("3의 배수가 아닙니다.");
✒️조건문
✔️ If Else문
if (조건1) {
조건1이 true 일 때만 실행할 명령
} if else (조건2) {
조건 1이 false, 조건 2가 true 일 때
} else {
false 일 때 실행할 명령
}
ex
const a = random();
if (a === 0) {
console.log("a is 0");
} else if (a === 2) {
console.log("a is 2");
} else {
console.log("rest...");
}
✔️ switch문 if 문으로 처리할 조건이 많을 때 사용하면 좋다.
**switch** ( 대상 ) {
**case** 조건1 :
조건1일 때
***break; <---- break를 쓰지 않으면 다음 case문도 실행한다.***
**case** 조건2:
조건2일때
**case** 조건3;
조건2일때, 조건3일때
**break**;
**default:**
모든 case와 충족하지 않을 때
ex
switch (session) {
case "1":
document.write(
"<p>마케팅 세션은 <strong>201호</strong> 에서 진행됩니다.</p>"
);
break;
case "2":
document.write(
"<p>개발세션은 <strong>203호</strong> 에서 진행됩니다.</p>"
);
break;
case "3":
document.write(
"<p>디자인 세션은 <strong>205호</strong> 에서 진행됩니다.</p>"
);
break;
default:
alert("잘못 입력했습니다.");
}
✒️반복문
✔️ for문
처음 시작 값 설정해 ;어떤 조건을 걸고 반복할건가? ; 어떤 증가성 규칙으로?
for (초기 값 ; 종료 조건 ; 증가 식) {
실행할 코드
}
ex.
for (let i = 0; i<3; i++){
console.log(i)
}
✒️변수 유효 범위
변수가 유효하게 동작할 수 있는 범위
- const, let : 블록 레벨 안에서만 유효함
function scope(){
if(true){
const a = 123 // 이 {} 범위 안에서만 동작
}
console.log(a) // 유효범위 벗어남 => 동작x
}
function scope(){
console.log(a) // 선언보다 먼저 실행함 => 동작, 출력 x
if(true){
const a = 123
}
}
- var : 함수 레벨 안에서 유효함
⇒ 의도하지 않은 범위에서 변수가 사용(호이스팅)되며, 메모리 누수로 이어질 수 있고, 유지 보수가 힘들기 때문에 사용하지 않는다.
function scope(){
if(true){
var a = 123
}
console.log(a) // 출력됨
}
function scope(){
console.log(a) // undefined 로 출력됨
if(true){
var a = 123
}
}
✒️ 형(Type) 변환
const a = 1 // 숫자
const b = ‘1’ // 문자
// 동등 연산자 ==
console,log(a == b) // ture
숫자와 문자는 타입이 달라서 false 로 나와야하지만, 형 변환이 일어나면서 true 반환
따라서 일치연산자(===)를 사용하도록 해야한다.
const c = + b // 숫자 1
=> 문자열에 + 붙이면 숫자로 형변환이 일어남
const d = a + '민지' // '1민지'
=> 숫자에 문자열(빈 문자열도 가능)을 더하면 문자열로 형변환이 일어남
- Truthy (참 같은 값)
true
,{ }
,[ ]
,1
,2
,‘false’(문자)
,-12(음수)
,‘3.14’
...
- Falsy (거짓 같은 값) 7개
false
,‘빈문자열’
,null
,undefined
,0
,-0
,NaN(not a number)
Author And Source
이 문제에 관하여(JS | 연산자, 조건문, 반복문, 형 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@imzzuu/JS-연산자-IF저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)