숫자와 문자
숫자의 표현
큰따옴표나 작은 따옴표가 붙지 않은 숫자는 숫자.
곱하기를 할 때는
*: 에스터리스크, Asterisk(키보드 자판위의 숫자 8위)를 사용
나누기를 할 때는
/ : 슬래쥐, Slash (키보드 자판상으로 오른쪽 Shift키 바로 왼쪽)을 사용
Math.pow(3,2); : 3의 2승
Math.round(10.6); : 10.6을 반올림
Math.ceil(10.2); : 10.2를 올림
Math.floor(10.6); : 10.6을 내림
Math.sqrt(9); : 9의 제곱근
Math.random(); : 0부터 1.0사이의 랜덤한 숫자
문자의 표현
문자는 큰따옴표나 작은 따옴표 중의 하나로 감싸야 한다. 큰따옴표로 시작하면 큰 따옴표로, 작은은 작은으로 끝나야한다.
숫자를 따옴표로 감싸면 문자가 된다
alert(typeof"1") : 결과 string. (typeof는 값의 데이터 형을 알려줌)
만약 문자안에 따옴표를 넣고 싶다면,
\'를 쓰면 된다.
\를 ' 앞에 위치시키면 '를 단순한 문자로 해석하도록 강제 할 수 있다. - 이스케이프(escape)기법
여러줄을 표시하려면
\n을 쓰면 줄바꿈을 한다.
문자와 문자를 더할 때는
"coding"+" everybody" 이렇게 하고,
문자의 길이를 구할 때는 문자 뒤에 .length를 붙인다.
"coding everybody".length
변수
- var a='coding', b='everybody'; : var을 하나만 쓰고 여러개의 변수 만들기
주석
- // (해당 줄만 주석 처리)
- /* */ (여러 줄 주석 처리)
줄바꿈과 여백
- ; : 명령이 끝났음을 명시적으로 나타냄 (줄이 바뀌어도 명령이 끝남)
한 줄에 여러 다른 코드가 있을 경우 세미콜론은 필수. 그냥 쓰는게 좋은 습관.
비교
- ==와=== : ===는 데이터형이 같은 경우에만 true
alert(null == undefined); //true
alert(null === undefined); //false
alert(true == 1); //true
alert(true === 1); //false
alert(true == '1'); //true
alert(true === '1'); //false
alert(0 === -0); //true
alert(NaN === NaN); //false
null과 undefined는 값이 없다는 의미의 데이터 형.
단, null은 프로그래머가 값이 없게 의도적으로 지정함, undefined는 그냥 값이 없는 상태.
NaN은 0/0과 같은 연산의 결과로 만들어지는 특수한 데이터형으로 계산할 수 없다는 뜻이다.
-
!=와!==: !==은 정확하게 같지는 않다는 뜻.
-
그 외 > < >= <=
조건문
-
if > else if > else: 순차적으로 판단해서 실행하고 else는 생략 가능
-
alert(prompt('당신의 나이는?');*2); : 안쪽에 있는 prompt가 먼저 실행되어
사용자가 값을 입력하면 그 값에 2를 곱한 값을 alert로 다시 알림.
id = prompt('아이디를 입력해주세요.')
if(id=='egoing'){
  alert('아이디가 일치 합니다.')
} else {
  alert('아이디가 일치하지 않습니다.')
}
-
논리연산자: &&(ampersend) - and 연산자 / ||(fife) - or 연산자
id = prompt('아이디를 입력.');
password = prompt('비밀번호 입력');
if((id==='egoing' || id==='k8805' || id==='sorialgi') && password==='111111'){
  alert('인증 완료');
} else {
  alert('인증 실패');
}
-
! : 부정의 의미로, Boolean 값을 역전시킴.(not 연산자)
-
조건문에 사용될 수 있는 데이터 형이 꼭 boolean만 있는 건 아니다.
if(1) : 1은 true
if(0) : 0은 false
if(!'') : 빈 문자열은 false
if(!undefined) : undefined는 false
if(!a) : 값이 할당되지 않은 변수는 false
if(!null) : null은 false
if(!NaN) : NaN은 false
반복문
- var i = 0;
while(i<10){
  document.write('coding everybody <br />');
  i++
}
- for
for(var i = 0; i<10; i++){
  document.write('coding everybody'+i+'<br />');
}
1) 초기화, 반복조건, 반복이 될때마다 실행되는 코드
2) 가로 안에 맨 끝에는 ;세미콜론을 사용하면 안된다.
객체(object)
-
객체는 순서가 없는 정보를 저장하기에 최적화됨. 숫자가 아닌 이름으로 식별자를 줌.
-
객체의 반복문
var roles = {
'programmer':'egoing',
'designer' : 'k8805',
'manager' : 'hoya'
}
console.log(roles.designer); //k8805
console.log(roles['designer']); //k8805
for(var n in roles){
console.log('object => ', n, 'value => ', roles[n]);
}
for(var n in roles) n은 키 값의 위치, roles는 객체의 이름
-
객체지향(object oriented programming)
var f = function(){
console.log(1+1);
console.log(1+2);
}
var a = [f];
a[0]();
var o = {
func:f
}
o.func();
-
데이터와 값을 담는 그릇으로서 객체
var q = {
v1:'v1',
v2:'v2',
f1:function (){
console.log(this.v1);
},
f2:function(){
console.log(this.v2);
}
}
q.f1();
q.f2();
Tip
- 세미콜론(;)은 하나의 구문이 끝났음을 명시적으로 나타내는 기호다. 다음처럼 한줄에 여러구문을 사용하고 싶을 때 세미콜론이
유용하다. a = 1; alert(a+1); JavaScript에서는 세미콜론을 생략할 수 있는데, 이 경우 줄바꿈을 명령의 끝으로
간주하게 된다.
-
\ + \ = 코드 상에서 줄바꿈하기