JavaScriptの文法、データタイプ、基本演算数と論理演算操作

28945 ワード

str.toString()
文字列、数値、ブール値、オブジェクトを文字列に変換できます.
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>