/* 자바스크립트 DAY02 2022.10.18 */
// in 연산자
const point = {
a: 1,
b: 2
};
// in 연산자는 좌변에 피연산자로 문자열을 받고, 우변의 피연산자로는 객체의 프로퍼티를 받는다.
// 우변 객체의 프로퍼티 이름에 해당 할 경우, 연산의 결과는 true이다
const hasA = 'a' in point;
console.log(hasA);
// 출력결과: true
const hasC = 'c' in point;
console.log(hasC);
// 출력결과: false
/* --------------------------------------------------------------------------------- */
// 조건부 연산자
let aa
let username
aa = "hi" + (username != null ? username : "there");
// 같은 의미인 if문
aa = "hi";
if(username != null){
aa += username;
} else{
aa += "there";
}
/* --------------------------------------------------------------------------------- */
// 객체 생성 연산자(new)
// new 연산자는새로운 객체를 생성하고 이를 초기화하기 위한 생성자 함수를 호출한다.
// new constructor(arguments);
d = new Date();
/* --------------------------------------------------------------------------------- */
// delete연산자
// 단항 연산자이며, 객체의 프로퍼티, 배열 원소 또는 변수의 삭제를 시도하는 연산자이다.
const o = { x: 1, y: 2 };
delete o.x;
// 출격결과: true
console.log(o);
// 출력결과: { y: 2 }
// 변수 자체를 삭제 할 수 있으며, false를 반환한다.
delete o;
/* --------------------------------------------------------------------------------- */
// switch문
const n = 2;
switch(n) {
// n이 1일 때
case 1:
console.log("...1");
// 종료
break;
case 2:
console.log("...2");
break;
case 3:
console.log("...3");
break;
// 아무것도 해당하지 않을 때
default:
break;
}
// 출력결과: '...2'
/* --------------------------------------------------------------------------------- */
// while문과 do while문
// // while문은 결과가 false일 때 까지 루프가 진행된다. (조건이 계속 참이면 무한루프!)
let A = 1;
while( A < 10){
A++;
console.log(A);
}
// 출력결과: 2345678910
/*
무한루프의 예
while( A < 10){
console.log(A)
count
}
*/
//do while문은 while문과 같지만, do에 루프 결과 값을 while에 조건을 넣어준다.
let B = 1;
do{
B++;
console.log(B);
} while (B < 10){
}
// 출력결과: 2345678910
/*
무한루프의 예
do{
console.log("do!")
} while (A < 10){
console.log(A)
}
*/
/* --------------------------------------------------------------------------------- */
// for/in
// for/in문은 객체의 모든 프로퍼티에 대해서 루프를 돌리는 방법을 제공한다.
const forIn = { a: 1, b: 2, c:3 }
let array = new Array();
let i = 0;
for(array[i++] in forIn){
console.log("forIn " + i)
}
// 출력결과: 'forIn 1' 'forIn 2' 'forIn 3'
// try catch문
const AAA = 1;
if(AAA == 1){
// 정상작동 시 코드
try{
console.log("try")
}catch(e){
// (예외처리) 에러 시 코드
console.log("catch")
}finally{
// 에러 상관없이 무조건 작동하는 코드
console.log("finally")
}
}