본문 바로가기

Language/JavaScript

JavaScript 기본문법_(1)

1. 변수(variable)


var whatDate = function() {
  var date = new Date(); // 현재 날짜를 저장
  alert(date); // 날짜를 알림
}
dateChecker(); // 실행

 

데이터를 처리하기 위해서는 데이터를 저장하는 공간이 있어야하는데, 그러한 공간을 변수라고 합니다. 

변수의 이름은 영어, 한국어, 중국어등 아무것으로 해도됩니다. 단, 특수문자는 $와 _만 가능합니다. 

또한 변수이름은 띄어쓰기가 되지 않습니다. 따라서 보기좋게 하기 위해 띄어쓰기해야하는 부분에 글자를 대문자로 써줍니다. 위의 코드에서 맨위에 what date로 쓸것을 whatDate로 써서 구별해줬습니다. 

 

 

 

2. 자료형

자료형에는 문자열, 숫자, 불린, null, undefined, 배열, 객체, 함수가 있습니다. 여기에서는 문자열, 숫자, 불린만 살펴보고 나머지것을은 나중에 살펴보도록 하겠습니다. 

 

문자열(String)

역슬래쉬(\)를 붙이는 행위를 이스케이핑이라고 합니다. 

큰 따옴표나 작은 따옴표 아무것이나 사용해도 무방합니다. 


var string = "string" // 큰 따옴표
var string2 = 'string' // 작은 따옴표
var string3 = "'string'" // 작은따옴표가 문자열에 들어있으면 큰따옴표로 감쌉니다.
var string4 = '"string"' // 반대의 경우
var string5 = '\'string\'' // 한가지 따옴표만 쓰고 싶을 때는 \로 이스케이핑

 

 

숫자(Number)

숫자를 넣어주면 됩니다. C언어에서는 정수는 int 실수는 float등으로 구별해야했으나 JavaScript에서는 그런 구별이 필요하지 않습니다.


var number = 1;
var float = 5.6;

 

불린(Boolean)

참과 거짓을 나타냅니다.


var bool = true;
var bool2 = false;

 

 

3. 연산자

 

산술연산자


var a = 1 + 2; // 3
var b = 2 - 1; // 1
var c = 3* 4; // 12
var d = 6 / 3; // 2
var e = 9 % 2; // 1

 

문자열에서의 연산자


var string = 'hello ' + 'world'; // 'hello world'
var string2 = 'hello' + 9; // 'hello9' 문자열과 문자열이 아닌것이 더해지면 문자열이 됩니다.
var string3 = 1 + 'good' + 9; // '1good9'
var string4 = 1 + 1 + 'two'; // '2two'

 

증감연산자


var i = 0;
i++; // i는 1이 됩니다.
alert(i++); // 1을 먼저 alert한 후에 ++되어 i는 2가됩니다.
alert(++i); // 먼저 ++한 후에 alert하여 3을 alert하게 됩니다.
i = i + 1; // i++과 같습니다.

var i=5;
i--//i는 4가 됩니다.

 

대입연산사 & 복합대입연산자


var i = 100; //대입연산자입니다 변수 i에 100을 넣습니다.
i += 2; // 102 (i = i + 2와 같음)
i -= 3; // 99 (i = i - 3과 같음)
i *= 10; // 990 (i = i * 10와 같음)
i %= 5; // 0 (i = i % 5와 같음)

 

비교연산자


25= 5* 5; // true 단, ===로 써줍니다. 
7 != 3 * 2; // true 단, !==로 써줍니다. 
9 * 5 > 10 * 3; // true
9 * 5 <= 15 * 3; // true

 

논리연산자


var a = 5;
var b = 10;
(a < b) && (a * 2 == b); // true
(a > b) || (a * 2 <= 20); // true

 

3행 : a<b는 5<10 이므로 참입니다. 그리고 5*2(10) == 10 이므로 참입니다. 따라서 둘다 참이므로 참이됩니다.

 

4행 : a>b는 5>10 이므로 거짓입니다. 5*2(10)<=20 이므로 참입니다. 따라서 둘중 하나만 참이면 되므로 참입니다.


var j = k && l; // k가 참인 값이면 j = l, 거짓인 값이면 j = k;
var m = n || p; // n이 참인 값이면 m = n, 거짓인 값이면 m = p;

 

j의 경우 k의 값이 존재한다면 and연산자에 의해 l값도 검사하게 됩니다. 그리고 l의 값 역시 존재하게 되면 j는 l이 됩니다. 하지만 k의 값이 없으면 거짓이기 때문에 and연산자에 의해 l값은 검사할 필요도 없이 undefined가 됩니다. 

 

m의 경우 n이 있으면 or 연산자에 의해 p값은 검사할 필요도 없이 m은 n이 됩니다. 만얀 n이 없으면 그때서야 p값을 검사해서 p값이 있으면 m은 p가 되게 됩니다.