Day55 :) JS 연산자, 함수

Nux·2021년 11월 23일
0

자바웹개발

목록 보기
59/105
post-thumbnail

연산자

산술 연산자

  • +: 더한 값
  • -: 뺀 값
  • *: 곱한 값
  • /: 나눈 값
  • %: 나머지 값

비교연산자

  • ==: 값만 일치하면 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

0개의 댓글