자바스크립트 복습

박범준·2022년 4월 24일
0

자바스크립트

목록 보기
1/2
  1. 스크립트와 src는 중복사용 불가
    src로 파일을 불러온 스크립트내의 코드는 작동안함
x
<script src="1.js" charset="UTF-8">
	alert("^_^");
</script>
o
<script src="1.js" charset="UTF-8"></script>
<script>
	alert("^_^");
</script>
  1. 줄바꿈이있다면 세미콜론; 생략가능
    (But 대괄호앞 인식문제등이 있어 반드시 넣어라)
x
<script>
alert("1")
[0,1,2,3,4].forEach(alert);
</script>
o
<script>
alert("1")
alert("2");
[0,1,2,3,4].forEach(alert);
</script>
  1. 유효한 변수명 let var
o
let abc; 	//문자
let z123;  	//숫자로 시작안하는 숫자
let $ = 1; 	//달라
let _ = 2; 	//언더바
alert($+_);
x
let 1a;  		//숫자로시작x
let cole-lar; 	//하이픈x
let let; 		//예약어x
let class; 		//예약어x
let return; 	//예약어x
let function; 	//예약어x
  1. 변하지 않는 상수 const
x
const a1 = 3.142562;
a1 = 1.14; //error

\\\대문자 상수 활용

const COLOR_RED ="#F00";
const COLOR_GREEN ="#0F0";
const COLOR_BLUE= "#00F";
const COLOR_ORANGE = "#FF7F00";

let color = COLOR_ORANGE;
alert(color);
const BIRTHDAY ='03.13.1994';
const age = fxt(BIRTHDAY);

5.자료형
\\\숫자형

alert(1/0);			//무한대 어떤숫자건 0으로 나누면
alert(Infinity);	//무한대직접참조
alert(한글/2); 	  //NaN 부정합한수학연산
const HIGH_SCORE =123456789123456789615165161651n;//BigInt

\\\문자형

let str = "안녕";
let str2 = '이럴수가';
let phrase = `nope, ${str}`;//표현식은 `(역따옴표)만가능
let name = "제리";
alert(`hello, ${name}!`);

alert(`1 plus 2 is ${1+2}`);
x
let name = "제리";
alert("hello, ${name}!");   //error
alert('1 plus 2 is ${1+2}');//error

\\\불린형

let isGood = 5>4;
alert(isGood);//true;

\\\null

let age = null;

\\\undefined

let age;
alert(age); //undefined
let age = 14;
age =undefined;
alert(age); //undefined

\\\object
\\\typeof

typeof undefined;
typeof(0);
typeof 10n;
typeof(true);
typeof "foo";
typeof Symbol("id");//symbol
typeof(Math);		//object
typeof null;		//object  But x
type of alert; 		//function
  1. alert, prompt, confirm
alert("hello");

result =prompt(title, [default]); //[] <-선택값
let age = prompt('나이를 입력하세요', 100);
alert(`당신의 나이는 ${age}살 입니다.`);

\\\IE

let test = prompt("test",'');//IE는 기본값이 필수

\\\confirm

//result = confirm(question);
let isBoss = confirm("당신이 주인인가요");
alert(isBoss);
  1. 형변환

\\\문자형변환

let value = true;
alert(typeof value);	//boolean

value = string(value); 
alert(typeof value); 	//string

\\\숫자형으로변환

alert("10"/"2");		//5 <-수학관련 표현연산에서 자동 변형

let str="123";
alert(typeof str);		//string

let num = Number(str);
alert(typeof num);		//number

let age = Number("문자열 23");
alert(age);				//NaN <- 숫자이외문자열이 있는경우 NaN
Number(undefined) 	//nan
Number(null) 		//0
Number(true) 		//1
Number(string) 		//nan  <-(1)공백제거(2)문자없으면0
alert(number(" 123 "); 		//123
alert(number("123z"); 		//NaN
alert(number(true); 		//1
alert(number(false); 		//0

\\\불린변환

alert(boolean(1));		//true
alert(boolean(0));		//false
alert(boolean("gi"));	//true
alert(boolean(""));		//false
alert(boolean("0"));	//true
  1. 연산자와 수학
alert(5%2) //나머지 1
alert(8%3) //나머지 2
alert(2**2)// (2*2)
alert(2**3)// (2*2*2)
alert(2**4)// (2*2*2*2)
alert(2**(1/2)}); 2의(1/2)승
alert(2**(1/3)}); 2의(1/3)승
let s = "my" + "string";
alert(s); //mystring
alert('1'+2); 	//"12"
alert(2 +'1'); 	//"21"
alert(2+2+'1'_; //"41"
alert(6-'2'); 	//4
alert('6'/'2') //3
let x = 1;
alert (+x); //1

alert(+true); //1
alert(+"");   //0
let apples="2";
let oranges="3";
alert(apples+oranges); //23
alert(+apples +oranges); //5
let n =2;
n+=5; //n==7
n*=2; //n==14
let a++;
varr b--;
const x 	//error
5++  		//error
let counter2 =0;
alert(++counter2); //1

let counter1 =0;
alert(counter1++); //0
let counter =1;
alert(2*++counter); //4

let counter2 =1;
alert(2*counter2++); //2
recomand
let counter =1;
alert(2*counter);
counter++;

and(&)
or(|)
xor(^)
not(~)
Lshift(<<)
Rshift(>>)
NRshift(>>>)

let a =(1+2,3+5);
alert(a); //8 (1+2의결과는 버려짐)
for(a=2,b=3,c=a*b;a<10;a++){
}
""+1+0 ="10"
""-2+0 = -2
true+false =1
6/"3" =2
"2"*"3"=6
4+5+"px"="9px"
"$"+4+5="$45"
"4"-2=4
"4px"-2=NaN
7/0=Infinity
" -9 " +5 = " -9 5"
" -9 " -5 = -14
null +1 =1
undefined +1 =NaN
" \t \n" -2 = -2

9 비교연산자

>
<
>=
<=
==
!=

alert('z'>'a'); 		//true
alert('glow'>'glee');	//true
alert('Bee' <'be');		//true
alert('2'>1);			//true
alert('01'==1);			//true

alert(true==1); 		//true
alert(false==0);		//true
let a =0;
alert(Boolean(a)); 		//false

let b = "0";
alert(Boolean(b));		//true

alert(a==b);			//true
alert(""==false)		//true
alert(0==false); 		//true
alert(0===false);		//false
alert(null===undefined);//false
alert(null==undefined);	//true
alert(null>0);			//false		<-널을 문자0으로봄
alert(null==0);			//false
alert(null>=0);			//true		<-널을 문자0으로봄
alert(undefined>0);		//false		<-NaN
alert(undefined<0);		//false		<-NaN
alert(undefined==0);	//false

10 if,조건부연산자?

if(0){};
if(1){};
if(par){};
var par = (2022>1994);
let result = condition ? value1 : value2;
let result = (age>18) ? 1 : 2;
let result = age>18 ? 1 : 2;
let message = (Age<3) ? 'bebe' :
	(age<18) ? 'ho' :
    (age<100) ? 'hello' :
    'input real age';
    alert(message);

11논리연산자
|| or
&& and
! not

alert( true||true);	//true
alert( true||false);//true
alert( false||true);//true
alert( false||false);//false
if((1||0){		//true||false
alert('truth');
}
let hour = 9;
if(hour <10 || hour >18{
alert('영업시간이 아닙니다.');
}
let isWeekend=true;
if(hour<10||hour>18||isWeelend){
alert('x');
let firstName="";
let lastName="";
let NickName="바이올렛";
alert(firstName||lastName||nickName||"익명")//바이올렛
true||alert("not printed");
false||alert("printed");
alert(true && true); //true
alert(false && true); //false
alert(true && false); //false
alert(false && false); //true
alert(1&&5); //5 앞이 true면 뒤 반환
alert(1&&2&&3); //3 앞이 true면 마지막값 반환
(x>0)&&alert('0보다 큽니다!');
if(x>0) alert('0보다 큽니다!');
alert(!true);//false
alert(!0);//true	부정

alert(!!"non empty"); //true
alert(!!null);	//false  불린값반환
alert(alert(0))//0,indefined => alert는 undefined반환

if(14<=age && age<=90){}
if(!14<age && !age<90){}
if(!(14<age && age<90)){}
if(14>age && age>90){}
profile
HTML/CSS/JAVASCRIPT

0개의 댓글