JavaScriptの文法、データタイプ、基本演算数と論理演算操作
28945 ワード
str.toString()
文字列、数値、ブール値、オブジェクトを文字列に変換できます.
String(str)
任意の数値を強制的に文字列の種類に変換します.
1、数値型は0を除いて、他は全部trueになります.
2、文字列型は、空の文字列以外はtrueになります.
3、nullとundefinedはfalseになります.
num++を先に計算して、さらに増分します.
すべてのブール値なら、すべてのブール値がtrueの場合、trueに戻ります.falseはfalseに戻ります.
すべてがブール値でない場合、
最初の暗黙的な変換がtrueである場合は、2番目の値を返します.二つ目も暗黙的にtrueに変換すると、三つ目に戻ります.これをもって類推する
最初の暗黙的変換がfalseである場合、最初の値を返します.
全部ブール値なら、trueがあります.trueに戻ります.
全部falseです.falseに戻ります.
すべてがブール値でない場合、最初の数値が隠しされてtrueに変換され、最初の数値が返されます.そうでないと順番に後ろに回る
!! 裏返しを取って反対を取ります
文字列、数値、ブール値、オブジェクトを文字列に変換できます.
String(str)
任意の数値を強制的に文字列の種類に変換します.
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
var num=123;
console.log(typeof num.toString());//string
console.log(typeof String(num));//string
script>
body>
html>
その他の種類のブール値1、数値型は0を除いて、他は全部trueになります.
2、文字列型は、空の文字列以外はtrueになります.
3、nullとundefinedはfalseになります.
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
var num;
console.log(Boolean(num));//false
script>
body>
html>
演算を行うと、ブラウザが文字列の隠し変換を試みることがあります.DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
var num1=1;
var num2="30";
console.log(num1+num2);//130 +
console.log(typeof(num1+num2));//string
console.log(num1*num2);//30
console.log(typeof(num1*num2));//number
script>
body>
html>
+numは先に増分してから計算します.num++を先に計算して、さらに増分します.
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
var num1=2;
var num2=3;
var num3=++num1+num2++;
console.log(num1);//3
console.log(num2);//4
console.log(num3);//6
script>
body>
html>
==和==DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
console.log(null==undefined);//true undefined null
console.log(null===undefined);//false
script>
body>
html>
三元演算子は、部分if判断の文を簡略化することができます.DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
var score=85;
var result=score>60?' ':' ';
console.log(result);//
script>
body>
html>
&&&すべてのブール値なら、すべてのブール値がtrueの場合、trueに戻ります.falseはfalseに戻ります.
すべてがブール値でない場合、
最初の暗黙的な変換がtrueである場合は、2番目の値を返します.二つ目も暗黙的にtrueに変換すると、三つ目に戻ります.これをもって類推する
最初の暗黙的変換がfalseである場合、最初の値を返します.
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
console.log(15 && 'hello~');//hello~
console.log(0 && 'hello~');//0
console.log(25 && 'str' && null);//null
script>
body>
html>
124 124全部ブール値なら、trueがあります.trueに戻ります.
全部falseです.falseに戻ります.
すべてがブール値でない場合、最初の数値が隠しされてtrueに変換され、最初の数値が返されます.そうでないと順番に後ろに回る
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
console.log(15 || 'hello~' || NaN);//15
console.log(0 || undefined);//undefined
console.log('' || 'str' || null);//str
script>
body>
html>
!逆を取る!! 裏返しを取って反対を取ります
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
<script>
console.log(!null);//true
console.log(!!null);//false
script>
body>
html>