23.1.9

Han Lee·2023년 1월 9일
0

TIL

목록 보기
31/43

forms의 정보를 서버로 보내기 위해서
document.forms.publish.onsubmit을 이용하는데 기본 적으로 함수를 실행후 새로고침이 실행이 된다. 새로고침을 없애기 위해서 return false를 넣어줘야 한다.

  document.forms.publish.onsubmit = function() {

      let outgoingMessage = this.message.value;      
      const obj = { "type": "message" , "params": { "value": outgoingMessage }} 
      socket.emit('message' ,JSON.stringify(obj));
      return false;
  };

엔터를 치더라도 문이 끝날 때 세미콜론을 넣자
0, null, undefined, NaN, ""는 false값

let i = undefinde
if(i){console.log('값이 있다.')
}else{
	console.log('값이 없다.')
}

값이 없다가 출력되야한다.

문자 + 숫자는 숫자가 문자로 변환되고 -,/는 문자열없이 숫자만 있을때 문자가 숫자로 변형이 된다. - 햇갈렸음, \t\n는 공백을 만드는 문자여서 0취급됨

"" + 1 + 0 = "10" 
"" - 1 + 0 = -1
4 + 5 + "px" = "9px"
"4px" - 2 = "NaN"
" \t \n" - 2 = -2 

if와 논리 연산자를 이용한 로그인 예제 인데 빈칸과 null값이 들어왔을 때를 나누는것을 왜 생각을 못했을까 지금까지 로그인을 만들면서 예외처리를 잘못했지 않나라는 생각이 든다.

let userName = prompt("사용자 이름을 입력해주세요.", '');
if (userName == 'Admin') {
  let pass = prompt('비밀번호:', '');
  if (pass == 'TheMaster') {
    alert( '환영합니다!' );
  } else if (pass == '' || pass == null) {
    alert( '취소되었습니다.' );
  } else {
    alert( '인증에 실패하였습니다.' );
  }
} else if (userName == '' || userName == null) {
  alert( '취소되었습니다.' );
} else {
  alert( "인증되지 않은 사용자입니다." );
}

return으로 confirm을 내보내고 그것에 대한 처리는 함수 밖에서 사용가능

function checkAge(age) {
  if (age >= 18) {
    return true;
  } else {
    return confirm('보호자의 동의를 받으셨나요?');
  }
}

let age = prompt('나이를 알려주세요', 18);

if ( checkAge(age) ) {
  alert( '접속 허용' );
} else {
  alert( '접속 차단' );
}
profile
렌덤형 인간

0개의 댓글