티스토리 뷰

도전 365

앱개발 공부 3일차

M.Rose 2022. 2. 25. 16:24

함수의 표현 방식

 

기존에는 함수를 표현할 때, 아래와 같이 변수에 함수를 정의했었다. 

 

let a= function( ) {       }

 

요즘은, 아래와 같이 function용어를 안 쓰고 화살표 표시(=>)로 대체하기도 한다. 

 

let a=( ) =>{    }

 

딕셔너리 키와 값을 빠르게 꺼내기 - 비구조 할당

 

딕셔너리에 있는 값을 꺼내 변수에 담을 때, 할당 과정을 거치지 않으면서 딕셔너리의 키값 그대로 변수사용이 가능하다. 

 

let blog = {

owner : "noah",

url : "noahlogs.tistory.com",

getPost( ) { console.log("왕초보 앱개발 공부"); } };

 

let {owner, getPost} = blog;

console.log(owner)

 

줄바꿈을 자유롭게

 

일반적으로 줄바꿈을 쓰려면 \n(백슬래시n)을 써야했다. 하지만 백틱( ` )키를 쓰면 그냥 엔터를 치면 이 키 안에서는 줄바꿈으로 인식한다. 

 

또한 문자열 안에 변수를 삽입할 때, 좀 더 쉬운 방법은 변수를 ${ }기호로 감싸주면 된다. 

 

다음으로 딕셔너리를 짧게 만드는 방법이다. 

만약에 키와 변수의 이름이 같을 경우는 키값만 쓸 수 있다.

 

반복문의 다른 방식 : map

 

반복문의 다른 방식인 map은 아래와 같이 for문 보다 짧게 작성할 수 있다. 

 

let num_list = [1,2,3,4,5,6,7]

num_list.map (function(value, i) {

console.log(value, i)  } )

 

다음과 같이 출력된다. 

 

(여기서 좌측은 value값이고 우측은 index값이다. )

 

자바스크립트 파일 불러오기 : module system

 

module system은 파일을 불러올 때 쓸 수 있는 방식이다. 여기서 export는 자바스크립트의 값, 함수, 딕셔너리(객체) 또는 자바스크립트 파일 자체를 외부로 내보내는 키워드이고, import는 반대로 자바스크립트 파일 안으로 가져오는 키워드이다. 

 

1주차 숙제하기:

 

특정과일 숫자세기 (map함수 이용하기)

let fruit_list=['귤', '사과', '감', '딸기', '딸기', '수박', '딸기']
let 딸기_count=0

fruit_list.map(function(value){
if(value=='딸기'){
딸기_count+=1}
} )
console.log(딸기_count)       //3이 출력된다

 

이메일 판별하기 (indexOf로 해결하기)

 

구글에서 indexOf를 검색하면 함수의 사용례를 확인할 수 있다. 

function checkEmail(email){
    if(email.indexOf('@') < 0){        //해당값이 없으면 -1을 출력함
        console.log("이메일이 아닙니다");
    }else{
        console.log("이메일이 맞습니다");
    }
}

checkEmail('gunhee21@gmail.com') // 이메일이 맞습니다
checkEmail('gunhee21$gmail.com') // 이메일이 아닙니다.

 

이메일 판별하기 (정규표현식으로 판별하기)

 

이 경우는 이메일에 @가 있나 없나를 판별함과 동시에 @를 기준으로 앞뒤에 특수문자가 들어가면 이메일이 아님을 알려주는 표현식이다. 정규표현식이란 것을 먼저 구글에 검색해보면 확인할 수 있다. 도메인 뒤에 .com이 없는 경우를 판별하려면 또 다른 정규표현식을 찾아 적용해야 한다. 

 

function checkEmail(email){
    //이메일 정규식
    var emailRule = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
    if(emailRule.test(email)){
        console.log("이메일이 아닙니다");
    }else{
        console.log("이메일이 맞습니다");
    }

}

checkEmail("gunhee21@gmail.com");
checkEmail("gunhee21#gmail.com");
function validateEmail (emailAdress)
{
  let regexEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
  if (emailAdress.match(regexEmail)) {
    return true; 
  } else {
    return false; 
  }
}

let emailAdress = "test@gmail.com";
console.log(validateEmail(emailAdress));

'도전 365' 카테고리의 다른 글

앱 개발 공부 5일차  (0) 2022.03.01
앱개발 공부 4일차  (0) 2022.02.28
앱개발 공부 2일차  (0) 2022.02.24
기업 분석하기  (0) 2022.02.23
앱개발 공부 1일차  (0) 2022.02.22