JS-기본4

dev.dave·2023년 7월 29일

Javascript

목록 보기
149/167

네번쨰편

var a = 0;

for(var i = 5 ; i--;){
a++
};
console.log(a); //

var b = 0;

for(var i = 5; i--, i;){
b++
};
console.log(b); //


표현식 (expression)

-자바스크립트 인터프리터가 계산하여 값을 구할수 있는 자바스크립트 구절

1
'hi'
{a:1}
[1,2]
function(){}

이런 것들을 리터럴 표현식이라고 한다

숫자 리터럴
문자 리터럴
객체 리터럴
배열 리터럴
함수 리터럴
표현식~


복잡한 표현식
연산자 + 표현식

1+1
리터럴 표현식 연산자 리터럴 표현식
(1+1)+1

연산자 종류

연산자 우선순위

2+2*2 //곱하기가 연산순위가 더하기보다 높으니까 2곱하기2 먼저하고 그다음 더하기 2하는 순서가 된다.

결합순서
x+x+x
이거는
사칙연산에서 연산순서는 왼쪽에서 오른쪽이다.
즉,
((x+x)+x) 이렇게 되는거다.

x = y = 2
이거는 대입인데,
대입은 연산자 순서가 오른쪽에서 왼쪽이다.
즉,
x=(y=2)
이렇게 되는 거다.
y에다가 2를 먼저 대입하고 그다음 x에다가 대입을 하는 순서가 된다.

이것 말고도,

좌결합성
우결합성
등등
이 있다.

mdn인가 여기 사이트 가면 다 볼수있다.

delete 는 불리언이 나온다.

delete a.a

즉, 삭제가능 여부를 알려주는 거다.
그래서 삭제가 가능하면 true 아니면 false 로 알려주는거다.


&& , ||
(and 하고 or 가 나온다)
즉 이항 연산자이다.(피 연산자가 두개인걸 이항연산자라고함)

a() && b()
// 지금 a() 이렇게 함수호출인데 , 이 함수호출도 표현식이다.아무튼
// 이렇게 a() 피연산자와 b() 피연산자가 두개 나온다
// && 같은경우는 앞의값이 false라면 뒤에꺼를 실행하지않는다.
즉,
만약 a() 의 결과값이 false 라면 b() 를 실행하지 않는다.

function a(){
console.log(1);
return false;
}

function b(){
console.log(2);
return true;
}

저 위의 값의 결과는
콜솔에 1만찍힌다
false 를 리턴했으니
&& 의 특징이다.


더하기 연산자

console.log(1) + console.log(2); // 1 2 둘다 찍힘

function fn(a+b){
return a && b;
}

fn(a() , b());

// 이거도 false 니까 a만 실행된다

위의 코드는 이어서 연결되니 참고해라..


||
or 연산자

a() || b();

//a() 값이 참이라면 뒤에 b() 를 실행하지않는다.

실제사용예제>

function(option){
option = option || {};
}

or연산자는 보통 디폴트 값을 만들때 많이 사용된다.


= (대입 연삽자)
, (콤마 연산자)

x,y,z 의 결과값은?

여기서 콤마연산자의 답은 무엇인가?
z 이다

왜냐면
왼쪽에서 오른쪽으로 순서가 되고,
x 다음 y 다음 z니까
마지막 남는값은 z 인것이다.


i --
i-- , i

//일단 위에꺼랑 밑에꺼는 콤마가 있고 없고의 차이이다.
그럼 뭐가 다른다
연산이 달라진다.

--; 전치연산자(전치는 대입하기전에 -1 연산을하고 대입하는걸 말한다)

;-- 후치연산자(후치는 먼저 결과값이 나오고 이후 그 값에 -1 연산을 하는걸 말한다.)

var a = 0;

for(var i = 5 ; i--;){
a++
};
console.log(a); // 5,4,3,2,1 //후치니까

var b = 0;

for(var i = 5; i--, i;){
b++
};
console.log(b); // 4,3,2,1 //전치니까

profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글