연산자
산술 연산자
+
: 더한 값
-
: 뺀 값
*
: 곱한 값
/
: 나눈 값
%
: 나머지 값
비교연산자
==
: 값만 일치하면 true
===
: 값과 타입 모두 일치해야 true
!=
: 값과 타입이 모두 다르면 true
!==
: 값, 타입 하나만 다르면 true
var a = 5;
var b = '5';
var c = '8';
a==b true
a===b false
a!=b false
a!==b true
a!==c true
논리연산자
&&
: and. 논리식이 모두 true면 true 반환
||
: or. 논리식중 하나라도 true면 true 반환
!
: not. 논리식이 true면 false를, false면 true를 반환
- java에서는 논리식이 boolean이거나 연산결과를 boolean으로 도출해야 하지만,
js는 논리식이 boolean이 아닐 수도 있음
- java
age >= 8 || height >= 130
- js
4 && 5
- A||B의 경우, A가 false면 B를 반환하는 특징이 있음
- A에 false로 취급되는 6가지(false, 0, '', undefined, null, NaN)가 들어가면 B가 반환됨
함수
function 이름(매개변수){
실행문;
}
- 이름있는 코드들의 블럭
- 사용자와의 상호작용 구현 가능
- 프로그램에서 반복적으로 사용되는 코드를 정의하여 중복 제거
매개변수
- 매개변수보다 전달값이 많거나 적어도 정상실행
- 매개변수보다 적은 경우: 나머지 매개변수가 undefined로 정의됨
function sample(a, b, c=13){}
과 같이 default값 부여 가능.
이때 매개변수가 덜 전달되면 default값이 출력됨
- 매개변수보다 많은 경우: console.log(arguments)로 넘겨받은 값 모두 확인 가능
- 숫자, 문자열, boolean, 객체, 배열, 함수가 매개변수로 사용 가능
function score(name){
console.log(name+"님 성적정보");
}
score("홍길동") // 홍길동님 성적정보
score("이순신") // 이순신님 성적정보
전역변수(글로벌변수)
- 함수 외부에서 정의한 변수
- 여러 함수가 사용 가능
var global = "안녕하세요."
function example1(){
console.log(global, "반갑습니다.");
}
function example2(){
console.log(global, "고맙습니다.);
}
example1(); // 안녕하세요.반갑습니다.
example2(); // 안녕하세요.고맙습니다.
지역변수(로컬변수)
- 함수 내에서 정의한 변수
- 해당 함수 내에서만 사용 가능
function sample(){
var local = "홍길동";
console.log("이름: ", local);
}
sample(); // 이름: 홍길동 정상출력
console.log(local); // 에러발생
- 지역변수 정의 시, var 표기를 하지 않는 경우 전역변수가 되므로 주의
반환값
- 함수를 호출한 측에 반환하는 값
- 함수를 종료하는 기능도 있으므로 return값 다음으로 작성된 수행문은 실행되지 않음
- return문을 작성하지 않은 함수의 반환값은 undefined가 됨
- 반환값에는 숫자, 문자열, boolean, 배열, 객체, 함수 모두 가능
function plus(x,y){
var z = x+y;
return z;
}
var returnValue = plus(10,20)
console.log("반환값", returnValue) // 30
// 객체를 반환하는 함수
function getScore(name, kor, eng, math){
var total = kor + eng + math
var average = total/3;
// 학생 정보를 포함하는 객체 생성
var result =
{ 학생이름:name, 국어점수:kor, 영어점수:eng, 수학점수:math,
총점:total, 평균:average }
return result;
}
var score = getScore("강감찬", 100, 80, 60)
console.log(score.국어점수) // 100
console.log(score.['평균']) // 80