首页 > 其他分享 >Day 27 27.3 JS进阶之ES6新语法

Day 27 27.3 JS进阶之ES6新语法

时间:2023-04-27 16:12:19浏览次数:35  
标签:ES6 27 console 进阶 int max 运算符 let log

JS工具之三元运算符

【1】格式

三元运算符:  条件表达式?语句1:语句2;  
let a = 10;
let b = 20;
let d = a > b? a: b
console.log(d);
  • 注释:
    • 条件运算符在执行时,首先对条件表达式进行求值,
      •         如果该值为true,则执行语句1,并返回执行结果
        
      •         如果该值为false,则执行语句2,并返回执行结果
        
      •         如果条件的表达式的求值结果是一个非布尔值,
        
      •         会将其转换为布尔值然后在运算
        

【2】意义

三运运算符可以简化大部分if体系中第二种格式if...else的书写,例如:
  • if .... else ....

    int max = 0;
        
    if (a > b) {
        max = a;
    } else {
        max = b;
    }
    console.log(max);
    
  • 三元运算符改写

    int max = a > b ? a : b;
    console.log(max);
    

【3】案例解析:

let a = 10;
let b = 20;
let c = 5;
let d = 17;

let e;
let m;

e = (e = a > 3 ? b : c, m = e < b++ ? c-- : a = 3 > b % d ? 27: 37, m++)
// e = a > 3 ? b : c // e=b=20
// m = e < b++ ? c-- : a = 3 > b % d ? 27: 37// m=a=37
// e = m++ // e= 37 m=38 
console.log(e);
console.log(c);
console.log(m);

【4】注意

【4.1】

  • 三运运算符可以简化大部分的if...else...语句的书写,但并不是所有的都可以被改写,例如:

    if (a > b) {
        console.log(a);
    } else {
        console.log(b);
    }
    
  • 这种情况三元运算符就不以改写,因为没有值的接收。

    • 三元运算符是有返回值的,我们可以接收返回值再输出,或者直接进行输出。
    //定义返回值进行接收
    int max = a > b ? a : b;
    //输出返回值
    console.log(max);
    
    //直接输出三元运算的结果
    console.log(a > b ? a : b); 
    

【4.2】

  • 三元运算符当定义了新的变量去接收返回值时,必须同时保证表达式左边和表达式右边都符合接收值数据类型的要求,不然就会出现数据溢出和精度损失的问题。

    //程序报错,因为表达式左边为int类型,右侧为double 类型,和int类型的接收值不一致
    int number = 5 > 6 ? 5.6 : 20;
    

标签:ES6,27,console,进阶,int,max,运算符,let,log
From: https://www.cnblogs.com/dream-ze/p/17359236.html

相关文章

  • Day 27 27.3 JS进阶之ES6新语法
    JS进阶之ES6新语法1.var、let以及constES6中引入了关键字let和const作为var的替代。它们非常有用,如今几乎每个JavaScript开发人员都在使用它们。与关键字var不同,这两个关键字具有块作用域。这意味着当你在块中声明它们时,它们只能在该块{}内访问。//f......
  • PSYCH 727 shell 实现
    LAB1(S1,2023)OUTLINEFORTHISLABThepurposeofthislaboratorysessionistofamiliariseyouwiththeLinuxenvironmentandtheshell,MATLAB,andthedataweareworkingwith(fMRIimages).Todaywewillcover:1.SettingUpRemoteAccesstotheLabVM2.......
  • 4.27 1.9
    一、问题描述N个有序整数数列已放在一堆数组中,利用二分法查找整数m在数组中的位置。若找到,输出其值,反之,输出“Notbefound!”。二、分析N个有序数应存放在数组中,根据数组下标的取值范围知指针low和high的初值分别为0N-1。除了三个指针变量low、high、mid之外还需要一个变......
  • 【230427-2】将20把相同的椅子分别放入编号为1,2,3,4的四个会议室内,要求每个会议室中放入
    【思路对但败在细节的解法】先将1张椅子放入1号房间,2张椅子放入2号房间,3张椅子放入3号房间,4张椅子放入4号房间,这以后再放椅子就不存在违背题设的情况了。剩下十张椅子分四份,相当于3个隔板去插十张椅子中的9个空,那么方案是C93=9*8*7/3/2/1=98.【错误所在】以上做法,问题在每个房间的......
  • 2023.4.27——软件工程日报
    所花时间(包括上课):3h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习并开会。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 数据库SQL语句从入门到进阶
    创建表createtablepeople(idint(11),namechar(11),phonechar(20),pwdvarchar(40)); 2. 增加语句    insertintopeoplevalues(9,'gang',13023299931,'qwert');3.向特定列增加语句insertintopeople(id,name,phone)values(9,'gang',13023299931);4......
  • [20230427]bbed sum apply问题2.txt
    [20230427]bbedsumapply问题2.txt--//使用bbed修改数据块时,最后总要sumapply改写校验和,但是修改redo文件是一个例外,sumapply不会修改.--//通过例子说明:1.环境:SCOTT@book>@ver1PORT_STRING                   VERSION       BANNER--------......
  • Linux 进阶
    Linux定制篇1shell1.1定义1.2入门案例1.3变量环境变量位置参数变量预定义变量1.4运算法1.5条件判断1.6流程控制ifcaseforwhileread获取输入1.7函数系统函数自定义函数1.8定时......
  • 4.27打卡
    一、问题描述:求某一范围内完数的个数。如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。二、设计思路:根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将......
  • Django框架——ORM执行SQL语句、神奇的双下划线、外键字段的创建、跨表查询、进阶操作
    ORM执行SQL语句有时候ORM的操作效率可能偏低我们是可以自己编写SQL的方式一: models.User.objects.raw('select*fromapp01_user')方式二: fromdjango.dbimportconnectioncursor=connection.curson()cursorexecute('selectnamefromapp01_user')prin......