GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the JavaScript

String / Math / 기타 내장된 공짜 함수들

Backcoder 2022. 7. 27. 20:34

[ typeof( i ) ; ] 
- 변수 타입 출력해줌 (String number) 

[타입종류 6] 
number  :  정수 / 실수 
string : " " / ' '   / ` ` 
boolean : true/false
undefined : 할당값 없음을 의미
function : 함수 
object : 객체 

[parseInt]  

parseInt(10/3) => 3 

: (실수 = >정수 변환)
parseInt("3.1415") => 3 

: (문자열->정수 변환)
=> 둘다 가능   

parseInt("abc") => NaN (Not a Number)
- 숫자아닌 문자주면 NaN 출력 
parseInt("10ten") => 10 
숫자만 뽑아서 준다. (문자나오기 전까지는)


[parseFloat] => 실수 변환 


[Number]  => 더 강력한 규제 

 

parseInt("10ten") => 10 
- 숫자만 뽑아서 준다. (문자나오기 전까지는)

let a = Number("10ten"); => NaN  
- 문자 섞여있으면 아예 안준다. 


[ isNaN ]
if( isNaN( x ) ){ 
document.write("정수로만 입력하세요"); }
- x가  NaN, 즉 순수한 수가 아니라면,  의미  
( Number 와 같은 개념 , 문자 섞인거 취급안해줌)

=> 이걸 처음에 조건 걸면, 숫자 이외의 값 들어올때 예외처리 가능!

[String] 

: 문자열로 변환 
let str1 = String(1234.888); 

[Boolean] 
True=1 / False=0 
write( true+true ); => 2 
( 숫자 1의 값을 가짐 )

[ undefined / null ]
write( undefined + 1); => NaN 
- undefined 는 아예 연산 불가 

write ( null + 1); => 1   
- null은 0 으로 인식 



[Math 함수]   자바랑 똑같다 
Math.abs(-100) 절대값 
Math.sqrt(100) 루트값 
Math.round(3.14) 반올림
Math.random( )  난수 

 

 

 

 

[ instanceof ]
let str1 = "java";  
- String 으로 인식 
let str2 = new String("JS"); 
- Object 로 인식 
=> Object의  실제 객체타입 알고자 할때,   

 

(1)write((str2 instanceof String) + b); => true 
- 즉 String 객체이다. 
(2)document.write((str2 .constructor == String) + b); => true 
- 생성자가 String 이니? 로 확인 


[ String 함수 ] 

const str3 = "javascript";

document.write( str3.length );
-문자열 개수,  ( )괄호없이 사용 
document.write(str3.indexOf("scr") ); =>4
document.write(str3.toUpperCase() ); 
document.write(str3.charAt(2) ); => v
(자바랑 똑같다) 
document.write( str3[2] );  => v   
- 문자열을 배열처럼 사용해서 이렇게 바로 뽑을수도 있다. 


[ String `  ` ] (ecma6) 

let a = ` 첫번째 줄 
두번째 줄 + 쓰고 따옴표 다시시작하고 
할필요 없이 편하게 입력하게 해주는 기능`; 

[ String 안에서 변수 표현 ]

${변수} 
let s = `${a5} + ${a6} + ${a7} 의 결과는 
${a5 + a6 + a7} 입니다 `; 

- $ 써주면, { }안에서는 문자열 안이지만, 
a5 등을 해당 변수로 사용하겠다는 의미 
=> 그 안에서 변수들에 대한 연산까지도 가능하다. 

- 이건 ` ` 안에서만 사용 가능한 기능이다. 
  "  " 안에서는 인식해주지 않는다. 



[ eval( ) ] => 보안상의 이유로 사용X 
let c1 = "alert(10);"; 
write(c1); => 문자출력 
eval(c1); => 실제로 실행해버림